import type { LanguageModelV3 } from '@ai-sdk/provider';
import type { ScriptConfig, SkillContext, UsageMeter } from '@polka-codes/core';
import { type FullToolInfo, type TaskEventCallback, type ToolRegistry } from '@polka-codes/core';
import type { McpManager } from './mcp/manager';
export type AgentContextParameters = {
    providerOptions?: Record<string, any>;
    scripts?: Record<string, ScriptConfig>;
    retryCount?: number;
    requestTimeoutSeconds?: number;
    usageMeter: UsageMeter;
    skillContext?: SkillContext;
    mcpManager?: McpManager;
};
import type { CliToolRegistry } from './workflow-tools';
export declare const toolHandlers: Map<string, FullToolInfo>;
type ToolCall<TTools extends ToolRegistry> = {
    [K in keyof TTools]: {
        tool: K;
        input: TTools[K]['input'];
    };
}[keyof TTools];
type ToolCallContext = {
    parameters: AgentContextParameters;
    model: LanguageModelV3;
    agentCallback?: TaskEventCallback;
    toolProvider: any;
    yes?: boolean;
    workflowContext: any;
};
export type { ToolCallContext };
export declare const localToolNames: string[];
export declare function toolCall(toolCall: ToolCall<CliToolRegistry>, context: ToolCallContext): Promise<unknown>;
/**
 * Create skill context for agent execution
 */
export declare function initializeSkillContext(cwd?: string): Promise<SkillContext>;
/**
 * Generate system prompt with available skills
 */
export declare function generateSystemPromptWithSkills(basePrompt: string, skillContext?: SkillContext): string;
//# sourceMappingURL=tool-implementations.d.ts.map