export type HookCommand = {
    type: 'command';
    command: string;
};
export type HookEntry = {
    matcher: string;
    hooks: HookCommand[];
};
export type ClaudeSettingsJson = {
    [key: string]: unknown;
    permissions?: {
        allow?: string[];
    };
    hooks?: {
        [key: string]: HookEntry[] | undefined;
        UserPromptSubmit?: HookEntry[];
    };
    _setupAgentsVersion?: string;
};
/**
 * Pure function that merges hook entries into an existing settings object.
 * If a hook with `sa-fast` in its command already exists, it is updated in place.
 * Otherwise the new hook is appended.
 */
export declare function mergeHooks(existing: ClaudeSettingsJson, hooks: HookEntry[]): ClaudeSettingsJson;
/**
 * Generates or merges `.claude/settings.json` with the UserPromptSubmit hook
 * that injects task/workflow state into Claude sessions.
 */
export declare function writeClaudeSettings(opts: {
    cwd: string;
    version: string;
}): void;
