export interface AgentHookEventDefinition { event: string; } export type AgentHookActivityState = "running" | "idle" | "needs-input"; export interface AgentHookActivityInput { isTTY?: boolean; read(): Promise; } export interface AgentHookProvider { id: string; events: AgentHookEventDefinition[]; resolveActivity(input: { event: string; input: AgentHookActivityInput; }): Promise; install: AgentHookInstallStrategy; } export type AgentHookInstallStrategy = AgentHookConfigFileInstallStrategy | AgentHookPluginFileInstallStrategy; interface AgentHookInstallStrategyBase { kind: "config-file" | "plugin-file"; configDir: string; configDirBase?: "home" | "xdg-config"; configFile: string; configDirEnvOverride?: string; hookMarker: string; } export interface AgentHookConfigFileInstallStrategy extends AgentHookInstallStrategyBase { kind: "config-file"; format: AgentHookConfigFormat; } export interface AgentHookPluginFileInstallStrategy extends AgentHookInstallStrategyBase { kind: "plugin-file"; source: string; } export interface AgentHookConfigFormat { empty(): TConfig; parse(raw: string): TConfig; stringify(config: TConfig): string; install(config: TConfig, provider: AgentHookProvider): TConfig; uninstall(config: TConfig, provider: AgentHookProvider): TConfig; isInstalled(config: TConfig, provider: AgentHookProvider): boolean; } export interface AgentHookInstallOptions { env?: NodeJS.ProcessEnv; homeDir?: string; configDir?: string; } export interface AgentHookInstallLogger { warn(bindings: Record, message: string): void; } export interface AgentHookInstallResult { configPath: string; changed: boolean; } export declare function installAgentHooks(provider: AgentHookProvider, options?: AgentHookInstallOptions): AgentHookInstallResult; export declare function uninstallAgentHooks(provider: AgentHookProvider, options?: AgentHookInstallOptions): AgentHookInstallResult; export declare function agentHooksAreInstalled(provider: AgentHookProvider, options?: AgentHookInstallOptions): boolean; export declare function resolveAgentHookConfigPath(provider: AgentHookProvider, options?: AgentHookInstallOptions): string; export declare function buildAgentHookShellCommand(provider: AgentHookProvider, event: AgentHookEventDefinition): string; export declare function buildAgentHookWindowsCommand(provider: AgentHookProvider, event: AgentHookEventDefinition): string; export {}; //# sourceMappingURL=agent-hook-installer.d.ts.map