import type { LanguageCode } from '@longrun-ai/kernel/types/language';
export declare const MANUAL_TOPICS: readonly ["index", "principles", "tools", "scenarios", "errors"];
export type ManualTopic = (typeof MANUAL_TOPICS)[number];
export declare const DEFAULT_MANUAL_TOPICS: readonly ManualTopic[];
export type ManualTopicTitle = Readonly<Record<LanguageCode, string>>;
export declare const MANUAL_TOPIC_TITLES: Readonly<Record<ManualTopic, ManualTopicTitle>>;
export type ManualSpec = Readonly<{
    topics?: readonly ManualTopic[];
    topicTitlesI18n?: Partial<Record<ManualTopic, ManualTopicTitle>>;
    topicFilesI18n?: Partial<Record<LanguageCode, Partial<Record<ManualTopic, string>>>>;
    toolsTopicMode?: 'registered-tool-name-list';
    warnOnMissing?: boolean;
}>;
export declare function getManualSpecTopics(spec?: ManualSpec): readonly ManualTopic[];
export declare function getManualTopicTitle(topic: ManualTopic, language: LanguageCode, spec?: ManualSpec): string;
export declare function shouldWarnMissingSection(spec?: ManualSpec): boolean;
/**
 * Build manual topic file paths for a built-in toolset.
 * Format: `prompts/<toolsetId>/<lang>/<topic>.md`
 *
 * No heuristics — `toolsetId` is an explicit parameter.
 */
export declare function builtinManualTopicPaths(toolsetId: string, language: LanguageCode): Record<ManualTopic, string>;
/**
 * Build manual topic file paths for an MCP toolset.
 * Format: `<contentFilePrefix>/<topic>.<lang>.md`
 *
 * `contentFilePrefix` comes directly from the MCP server's mcp.yaml
 * `manual.contentFile` field — no hardcoded serverId paths.
 */
export declare function mcpManualTopicPaths(contentFilePrefix: string, language: LanguageCode): Record<ManualTopic, string>;
/**
 * Build a ManualSpec for a built-in toolset.
 * Calls `builtinManualTopicPaths` internally — no hardcoded path inspection.
 */
export declare function buildBuiltinManualSpec(options?: {
    topics?: readonly ManualTopic[];
    warnOnMissing?: boolean;
} & ({
    toolsetId: string;
} | Record<string, never>)): ManualSpec;
/**
 * Build a ManualSpec for an MCP toolset.
 * Calls `mcpManualTopicPaths` internally — no hardcoded serverId paths.
 * `contentFilePrefix` is sourced from mcp.yaml `manual.contentFile`.
 */
export declare function buildMcpManualSpec(contentFilePrefix: string, options?: {
    topics?: readonly ManualTopic[];
    warnOnMissing?: boolean;
}): ManualSpec;
export declare function buildRawMcpManualSpec(): ManualSpec;
