import { Message, ChatResponse } from '@majkapp/majk-chat-core';
export interface ExecutorOptions {
    provider?: string;
    model?: string;
    messages: Message[];
    temperature?: number;
    maxTokens?: number;
    maxSteps?: number;
    systemPrompt?: string;
    outputFormat?: 'text' | 'stream-json';
    tools?: any[];
    enableCoreTools?: boolean;
    enableReadOnlyTools?: boolean;
    disableTools?: boolean;
    planningMode?: boolean;
    mcpConfig?: string;
    mcpServers?: string;
    allowedTools?: string;
    disallowedTools?: string;
    permissionPromptTool?: string;
    bedrockApiKey?: string;
    awsAccessKeyId?: string;
    awsSecretAccessKey?: string;
    awsSessionToken?: string;
    awsRegion?: string;
    anthropicApiKey?: string;
    openaiApiKey?: string;
    azureOpenaiApiKey?: string;
    azureOpenaiEndpoint?: string;
    azureOpenaiDeployment?: string;
    cwd?: string;
    sessionId?: string;
    onToolCall?: (toolCall: any) => void;
    onToolResult?: (toolCall: any, result: any) => void;
    [key: string]: any;
}
export interface ExecutorResponse {
    response: ChatResponse;
    messages?: Message[];
}
export interface ChatExecutor {
    execute(options: ExecutorOptions): Promise<ExecutorResponse>;
    supportsStreaming(): boolean;
    getName(): string;
}
//# sourceMappingURL=executor.interface.d.ts.map