export declare const CORE_TOOL_NAMES: readonly ["smart_read", "smart_write", "smart_edit", "smart_glob", "smart_grep", "optimize_text", "get_cached", "optimize_session", "get_optimization_report", "wiki_write", "wiki_read", "wiki_query", "expand", "waste_audit", "cache_audit", "model_routing", "token_audit", "install_doctor", "fleet_audit"]; /** Opt-in profile for file work; retain both preview and cache recovery. */ export declare const FILE_TOOL_NAMES: readonly ["smart_read", "smart_write", "smart_edit", "smart_glob", "smart_grep", "get_cached", "expand"]; export declare const COGNITIVE_TOOL_NAMES: readonly ["context_page", "context_receipt_verify", "cognition_record", "checkpoint_handoff", "outcome_report"]; export declare const CONTINUITY_TOOL_NAMES: readonly ["context_page", "cognition_record"]; export declare const ATTESTATION_TOOL_NAMES: readonly ["context_receipt_verify"]; export type ToolProfile = 'attestation' | 'continuity' | 'cognitive' | 'core' | 'files' | 'full'; export type ExperimentArm = 'baseline' | 'optimizer' | 'retrieval' | 'full'; export declare function resolveExperimentArm(value?: string | undefined): ExperimentArm; export declare function resolveToolProfile(value?: string | undefined): ToolProfile; /** * Select the definitions a client is allowed to see and call. * * The profile is enforced server-side rather than left only to a client config: * every MCP host gets the bounded default, and an unadvertised specialist tool * cannot still be invoked by name. A missing core definition is a startup error * because silently dropping wiki_write or expand would break the policy while * leaving tools/list looking superficially healthy. */ export declare function selectToolDefinitions(tools: readonly T[], profile?: ToolProfile, arm?: ExperimentArm): T[]; //# sourceMappingURL=tool-profile.d.ts.map