import { CardAction } from '../card/card-action.js';
import { TokenPostResource } from '../token/token-post-resource.js';
import { TokenExchangeResource } from '../token-exchange/token-exchange-resource.js';

/**
 * A card representing a request to perform a sign in via OAuth
 */
type OAuthCard = {
    /**
     * Text for signin request
     */
    text: string;
    /**
     * The name of the registered connection
     */
    connectionName: string;
    /**
     * The token exchange resource for single sign on
     */
    tokenExchangeResource?: TokenExchangeResource;
    /**
     * The token for directly post a token to token service
     */
    tokenPostResource?: TokenPostResource;
    /**
     * Action to use to perform signin
     */
    buttons: CardAction[];
};

export type { OAuthCard };
