import { Plugin, BaseApp } from '../../jovo-core';
import { Config } from '../../jovo-platform-dialogflow/dist/src/DialogflowCore';
import { Dialogflow } from '../../jovo-platform-dialogflow';
import { DialogflowAgent } from '../../jovo-platform-dialogflow/dist/src/DialogflowAgent';
import { DialogflowRequest } from '../../jovo-platform-dialogflow/dist/src/core/DialogflowRequest';
import { EntityOverrideMode, SessionEntityType } from '../../jovo-platform-dialogflow';
import { TelephonyActions } from './Interfaces';
declare module '../../jovo-platform-dialogflow/dist/src/DialogflowAgent' {
    interface DialogflowAgent {
        isCallbot(): boolean;
        addActions(action: TelephonyActions): void;
        getDtmf(): string;
        getResult(): any;
        addOutputContext(name: string, parameters: {
            [key: string]: any;
        }, lifespanCount: number): void;
        getOutputContext(name: string): void;
        addSessionEntityTypes(sessionEntityTypes: SessionEntityType[]): this;
        addSessionEntityType(sessionEntityTypes: SessionEntityType): this;
        addSessionEntity(name: string, value: string, synonyms: string[], entityOverrideMode?: EntityOverrideMode): this;
        actions: (TelephonyActions | any)[];
        $request: DialogflowRequest;
    }
}
export * from '../../jovo-platform-dialogflow';
export declare class AltervoiceAsteriskCallbot implements Plugin {
    config: {
        enabled: boolean;
    };
    constructor(config?: Config);
    install(dialogFlow: Dialogflow): void;
    uninstall(app: BaseApp): void;
    type(dialogflowAgent: DialogflowAgent): void;
    output(dialogflowAgent: DialogflowAgent): void;
}
