import { Action, ActionSchema } from '../types/tool';
import { PromptDefinition } from '../types/common';
import { ExtendedActionContext, PromptActionConfig, Route } from './types';
import { ChatOptions } from '../types/chat';
export declare function executePromptAction<I, O>(promptAction: PromptAction<I, O>, params: I, context: ExtendedActionContext): Promise<O>;
export declare function testPromptRouting(promptAction: PromptAction<any, any>, params: any, context: ExtendedActionContext): string;
export declare class PromptAction<I, O> implements Action<I, O> {
    name: string;
    content: string;
    options?: ChatOptions;
    routing?: Route[];
    description: string;
    schema: ActionSchema<I, O>;
    priority?: number;
    config?: PromptDefinition['config'];
    constructor({ name, schema, systemContent, userContent, options, routing, description, priority, config }: PromptActionConfig);
    execute(params: I, context: ExtendedActionContext): Promise<O>;
    getPriority(): number | undefined;
    setPriority(priority: number): void;
    getConfig(): PromptDefinition['config'] | undefined;
    setConfig(config: PromptDefinition['config']): void;
}
