export type CopilotHooksConfig = Record<string, unknown> & {
    version?: number;
    disableAllHooks?: boolean;
    hooks: Record<string, unknown>;
};
export declare function isRecord(value: unknown): value is Record<string, unknown>;
export declare function sanitizeCopilotHooksConfig(raw: unknown): CopilotHooksConfig;
export declare function readCopilotHooksConfig(hooksPath: string, hostLabel: string): Promise<{
    config: CopilotHooksConfig;
    exists: boolean;
}>;
export declare function loadCopilotHooksConfigWithBackup(hooksPath: string, hostLabel: string): Promise<{
    config: CopilotHooksConfig;
    backupPath?: string;
}>;
export declare function writeCopilotHooksConfigAtomic(hooksPath: string, config: CopilotHooksConfig): Promise<void>;
export declare function ensureHooksDir(hooksDir: string): Promise<void>;
export declare function findStrayTokenjuiceHookFiles(hooksDir: string, canonicalPath: string, isTokenjuiceCommand: (command: string) => boolean): Promise<string[]>;
