import type { AgentConfig, Tool } from "@clinebot/agents";
import { type DefaultToolName } from "../tools";
export interface AgentYamlConfig {
    name: string;
    description: string;
    modelId?: string;
    tools: DefaultToolName[];
    skills?: string[];
    systemPrompt: string;
}
export interface ParseYamlFrontmatterResult {
    data: Record<string, unknown>;
    body: string;
    hadFrontmatter: boolean;
    parseError?: string;
}
export interface BuildAgentConfigOverridesOptions {
    availableTools?: ReadonlyArray<Tool>;
}
export interface PartialAgentConfigOverrides extends Partial<Pick<AgentConfig, "modelId" | "systemPrompt" | "tools">> {
    skills?: string[];
}
export declare function isAgentConfigYamlFile(fileName: string): boolean;
export declare function normalizeAgentConfigName(name: string): string;
export declare function parseAgentConfigFromYaml(content: string): AgentYamlConfig;
export declare function resolveAgentTools(toolNames: ReadonlyArray<DefaultToolName>, availableTools: ReadonlyArray<Tool>): Tool[];
export declare function toPartialAgentConfig(config: AgentYamlConfig, options?: BuildAgentConfigOverridesOptions): PartialAgentConfigOverrides;
export declare function parsePartialAgentConfigFromYaml(content: string, options?: BuildAgentConfigOverridesOptions): PartialAgentConfigOverrides;
//# sourceMappingURL=agent-config-parser.d.ts.map