export declare const MANAGED_HOOK_EVENTS: readonly ["SessionStart", "PreToolUse", "PostToolUse", "UserPromptSubmit", "PreCompact", "PostCompact", "Stop"]; type ManagedHookEventName = (typeof MANAGED_HOOK_EVENTS)[number]; type JsonObject = Record; export interface ManagedHookEntry { matcher?: string; hooks: Array<{ type: "command"; command: string; statusMessage?: string; timeout?: number; }>; } export interface ManagedCodexHooksConfig { hooks: Record; } interface ParsedCodexHooksConfig { root: JsonObject; hooks: JsonObject; } export interface RemoveManagedCodexHooksResult { nextContent: string | null; removedCount: number; } export interface ManagedCodexHookTrustState { trusted_hash: string; } export interface DedupedCodexHookConfigPath { path: string; reason: "unique"; } export interface SkippedCodexHookConfigPath { path: string; reason: "runtime_codex_home_mirror" | "duplicate_realpath"; canonicalPath?: string; } export interface DiscoverCodexHookConfigPathsOptions { maxFiles?: number; } type HookCommandPlatform = NodeJS.Platform; export declare function escapeTomlBasicString(value: string): string; export declare const WINDOWS_NATIVE_HOOK_SHIM_RELATIVE_PATH: readonly ["hooks", "omx-native-hook-windows-shim.ps1"]; export interface ManagedCodexHookOptions { platform?: HookCommandPlatform; codexHomeDir?: string; nodePath?: string; hookScriptPath?: string; } export declare function buildManagedCodexNativeHookWindowsShimPath(codexHomeDir: string): string; export declare function buildManagedCodexNativeHookWindowsShimContent(pkgRoot: string, options?: Pick): string; export declare function buildManagedCodexNativeHookCommand(pkgRoot: string, optionsOrPlatform?: HookCommandPlatform | ManagedCodexHookOptions): string; export declare function buildManagedCodexHooksConfig(pkgRoot: string, options?: ManagedCodexHookOptions): ManagedCodexHooksConfig; export declare function parseCodexHooksConfig(content: string): ParsedCodexHooksConfig | null; export declare function getMissingManagedCodexHookEvents(content: string): ManagedHookEventName[] | null; export declare function getManagedCodexHookCommandsForEvent(content: string, eventName: ManagedHookEventName): string[] | null; export declare function buildManagedCodexHookTrustState(hooksPath: string, pkgRoot: string, options?: ManagedCodexHookOptions): Record; export declare function buildManagedCodexHookTrustToml(hooksPath: string | undefined, pkgRoot: string, options?: ManagedCodexHookOptions): string; export declare function isRuntimeCodexHomeMirrorPath(hookConfigPath: string, cwd?: string): boolean; export declare function dedupeCodexHookConfigPaths(hookConfigPaths: readonly string[], cwd?: string): Promise<{ paths: DedupedCodexHookConfigPath[]; skipped: SkippedCodexHookConfigPath[]; }>; export declare function discoverCodexHookConfigPaths(cwd?: string, options?: DiscoverCodexHookConfigPathsOptions): Promise<{ paths: DedupedCodexHookConfigPath[]; skipped: SkippedCodexHookConfigPath[]; }>; export declare function mergeManagedCodexHooksConfig(existingContent: string | null | undefined, pkgRoot: string, hooksPathOrOptions?: string | ManagedCodexHookOptions, options?: ManagedCodexHookOptions): string; export declare function removeManagedCodexHooks(existingContent: string): RemoveManagedCodexHooksResult; export declare function hasCodexHookEntries(content: string): boolean; export declare function hasUserCodexHooksAfterManagedRemoval(existingContent: string): boolean; export {}; //# sourceMappingURL=codex-hooks.d.ts.map