/**
 * @module botbuilder-m365
 */
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { TurnContext } from 'botbuilder';
import { Application, RouteSelector, Query } from './Application';
import { TurnState } from './TurnState';
export interface AdaptiveCard {
    type: 'AdaptiveCard';
    [key: string]: any;
}
export interface AdaptiveCardsOptions {
    actionSubmitFilter?: string;
}
export interface AdaptiveCardsSearchParams {
    queryText: string;
    dataset: string;
}
export interface AdaptiveCardSearchResult {
    title: string;
    value: string;
}
export declare class AdaptiveCards<TState extends TurnState> {
    private readonly _app;
    constructor(app: Application<TState>);
    /**
     *
     * @param {string | RegExp | RouteSelector | string[] | RegExp[] | RouteSelector[]} verb The name action(s) to be handled
     * @param {Promise<AdaptiveCard | string>} handler The promise returning the Adaptive Card or string to be executed
     * @returns {Application} The application
     */
    actionExecute(verb: string | RegExp | RouteSelector | (string | RegExp | RouteSelector)[], handler: (context: TurnContext, state: TState, data: Record<string, any>) => Promise<AdaptiveCard | string>): Application<TState>;
    actionSubmit(verb: string | RegExp | RouteSelector | (string | RegExp | RouteSelector)[], handler: (context: TurnContext, state: TState, data: Record<string, any>) => Promise<void>): Application<TState>;
    search(dataset: string | RegExp | RouteSelector | (string | RegExp | RouteSelector)[], handler: (context: TurnContext, state: TState, query: Query<AdaptiveCardsSearchParams>) => Promise<AdaptiveCardSearchResult[]>): Application<TState>;
}
//# sourceMappingURL=AdaptiveCards.d.ts.map