import { Context, InternalMethods } from "@elimeleth/vct-flow";
export default class AsstLayer {
    static fn(): Promise<void>;
    static layer(config?: Partial<{
        audio_config?: {
            message: string;
            callback: (ctx: Context) => Promise<any[]>;
        };
        image_config?: {
            message: string;
            callback: (ctx: Context) => Promise<any[]>;
        };
        invoke_params?: any;
        request: {
            api_key?: string;
            model?: string;
            history_length?: number;
            api_params?: object;
            instructions: string;
        };
        retry_config: any;
        functions?: {
            intentions?: (message: string) => Promise<{
                intentions: string;
                services: string;
            }>;
            send?: (data: {
                output: string;
                usage: any;
            }, save_metadata: object) => Promise<void>;
        };
    }>): (ctx: Context, { state, send, end, extensions: { database, assistant, provider } }: InternalMethods<any>) => Promise<void>;
}
