import { SubmitActionOptions, MSTeamsData, ISubmitAction, SubmitAction } from './submit.js';
import '../../common/associated-inputs.js';
import '../base.js';

type InvokeActionOptions = SubmitActionOptions & {
    data: MSTeamsData<IInvokeData>;
};
interface IInvokeAction extends ISubmitAction {
    /**
     * Initial data that input fields will be combined with. These are essentially ‘hidden’ properties.
     */
    data: MSTeamsData<IInvokeData>;
}
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;
}
interface IInvokeData {
    type: 'invoke';
    /**
     * Set the value to send with the invoke
     */
    value?: any;
}
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 };
