import type { ToolProfile } from '../types/config.js';
/** Concrete profiles — the result of resolving 'auto'. */
type ConcreteProfile = Exclude<ToolProfile, 'auto'>;
export declare const TOOL_PROFILE_DESCRIPTIONS: Record<ToolProfile, string>;
export declare const TOOL_PROFILE_TOOLTIPS: Record<ToolProfile, string>;
/**
 * Infer a concrete profile from the active model id.
 *
 * Small local models benefit from a slim tool set and prompt; large or
 * cloud-hosted models (no size hint in the id) get the full surface.
 */
export declare function inferToolProfile(model?: string): ConcreteProfile;
/**
 * Resolve a (possibly 'auto') profile to a concrete one using the model.
 */
export declare function resolveToolProfile(profile: ToolProfile, model?: string): ConcreteProfile;
/**
 * Get the allowed tool names for a given profile.
 * Returns empty array for the 'full' profile (meaning no filtering).
 */
export declare function getToolsForProfile(profile: ToolProfile, model?: string): string[];
/**
 * Whether a profile implies single-tool mode.
 * Minimal and nano profiles automatically enforce one tool per response.
 */
export declare function isSingleToolProfile(profile: ToolProfile, model?: string): boolean;
/**
 * Whether a profile uses the ultra-slim prompt (drops core-principles,
 * coding-practices, uses shortened task-approach/file-editing/constraints,
 * shortened SYSTEM INFORMATION).
 */
export declare function isNanoProfile(profile: ToolProfile, model?: string): boolean;
export {};
//# sourceMappingURL=tool-profiles.d.ts.map