/**
 * Defines a button as displayed when prompting a user to authenticate. This maps to the cardAction type defined by the Bot Framework (https://docs.microsoft.com/dotnet/api/microsoft.bot.schema.cardaction).
 */
interface IAuthCardButton {
    /**
     * The type of the button.
     */
    type: string;
    /**
     * The value associated with the button. The meaning of value depends on the button’s type.
     */
    value: string;
    /**
     * The caption of the button.
     */
    title?: string;
    /**
     * A URL to an image to display alongside the button’s caption.
     */
    image?: string;
}
type AuthCardButtonOptions = Omit<IAuthCardButton, 'type' | 'value'>;
/**
 * Defines a button as displayed when prompting a user to authenticate. This maps to the cardAction type defined by the Bot Framework (https://docs.microsoft.com/dotnet/api/microsoft.bot.schema.cardaction).
 */
declare class AuthCardbutton implements IAuthCardButton {
    /**
     * The type of the button.
     */
    type: string;
    /**
     * The value associated with the button. The meaning of value depends on the button’s type.
     */
    value: string;
    /**
     * The caption of the button.
     */
    title?: string;
    /**
     * A URL to an image to display alongside the button’s caption.
     */
    image?: string;
    constructor(type: string, value: string, options?: AuthCardButtonOptions);
    withType(value: string): this;
    withValue(value: string): this;
    withTitle(value: string): this;
    withImage(value: string): this;
}

export { type AuthCardButtonOptions, AuthCardbutton, type IAuthCardButton };
