import { ISubmitAction, SubmitAction, SubmitActionOptions } from '../../core.js';
import { MSTeamsData } from './ms-teams-data.js';

type InvokeActionOptions = SubmitActionOptions & {
    data: MSTeamsData<IInvokeData>;
};
/**
 * @deprecated This type is deprecated. Please use {@link IInvokeSubmitActionData} instead. This will be removed in a future version of the SDK.
 */
interface IInvokeAction extends ISubmitAction {
    /**
     * Initial data that input fields will be combined with. These are essentially ‘hidden’ properties.
     */
    data: MSTeamsData<IInvokeData>;
}
/**
 * @deprecated This class is deprecated. Please use {@link InvokeSubmitActionData} instead. This will be removed in a future version of the SDK.
 */
declare class InvokeAction extends SubmitAction implements IInvokeAction {
    /**
     * Initial data that input fields will be combined with. These are essentially ‘hidden’ properties.
     */
    data: MSTeamsData<IInvokeData>;
    constructor(value?: any, options?: SubmitActionOptions);
    static from(options: InvokeActionOptions): InvokeAction;
    withData(value: IInvokeData): this;
    withValue(value: any): this;
}
/**
 * @deprecated This type is deprecated. Please use {@link IInvokeSubmitActionData} instead. This will be removed in a future version of the SDK.
 */
interface IInvokeData {
    type: 'invoke';
    /**
     * Set the value to send with the invoke
     */
    value?: any;
}
/**
 * @deprecated This class is deprecated. Please use {@link InvokeSubmitActionData} instead. This will be removed in a future version of the SDK.
 */
declare class InvokeData implements IInvokeData {
    type: 'invoke';
    /**
     * Set the value to send with the invoke
     */
    value?: any;
    constructor(value?: any);
}

export { type IInvokeAction, type IInvokeData, InvokeAction, type InvokeActionOptions, InvokeData };
