import { Context, InternalMethods } from "@elimeleth/vct-flow";
export default class Assistant {
    static fn(): Promise<void>;
    static layer(config?: Partial<{
        listen_msg?: string;
        invoke_params?: any;
        retry_config: any;
        image_msg?: string;
        claude_params: {
            api_key?: string;
            functions?: Function[];
            history_length?: number;
            api_params?: object;
            instructions: string | {
                type: string;
                text: string;
            }[];
        };
        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>;
}
