import { TabResponseCards } from './tab-response-card.js';
import { TabSuggestedActions } from './tab-suggested-actions.js';
import '../card/card-action.js';

/**
 *
 * Envelope for Card Tab Response Payload.
 *
 */
type TabResponse = {
    /**
     * @member {TabResponsePayload} [tab] The response to the tab/fetch message.
     */
    tab: TabResponsePayload;
};
/**
 *
 * Payload for Tab Response.
 *
 */
type TabResponsePayload = {
    /**
     * @member {'continue' | 'auth' | 'silentAuth'} [type] Choice of action options when responding to the tab/fetch message.
     */
    type?: 'continue' | 'auth' | 'silentAuth';
    /**
     * @member {TabResponseCards} [value] The TabResponseCards to send when responding to
     * tab/fetch activity with type of 'continue'.
     */
    value?: TabResponseCards;
    /**
     * @member {TabSuggestedActions} [suggestedActions] The Suggested Actions for this card tab.
     */
    suggestedActions?: TabSuggestedActions;
};

export type { TabResponse, TabResponsePayload };
