import { AdaptiveCardAuthentication } from './adaptive-card-authentication.js';
import { AdaptiveCardInvokeAction } from './adaptive-card-invoke-action.js';
import '../token-exchange/token-exchange-invoke-request.js';

/**
 * Defines the structure that arrives in the Activity.Value for Invoke activity with
 * Name of 'adaptiveCard/action'.
 */
type AdaptiveCardInvokeValue = {
    /**
     * The [AdaptiveCardInvokeAction](xref:botframework-schema.AdaptiveCardInvokeAction) of
     * this adaptive card invoke action value.
     */
    action: AdaptiveCardInvokeAction;
    /**
     * The [AdaptiveCardAuthentication](xref:botframework-schema.AdaptiveCardAuthentication)
     * for this adaptive card invoke action value.
     */
    authentication?: AdaptiveCardAuthentication;
    /**
     * The 'state' or magic code for an OAuth flow.
     */
    state?: string;
    /**
     * What triggered the action
     */
    trigger?: 'manual';
};

export type { AdaptiveCardInvokeValue };
