import { inspectClassicHookGuard, listActiveClassicHookChanges } from '../comet-classic/classic-hook-guard.js'; import { inspectNativeHookGuard, listActiveNativeHookChanges } from '../comet-native/native-hook-guard.js'; import { scopeCometHookTargets } from '../workflow-contract/hook-target-scope.js'; import type { CometHookDecision, CometHookRequest } from './hook-types.js'; import type { CometWorkflow } from './types.js'; export interface ActiveHookChange { workflow: CometWorkflow; name: string; phase: string; } interface StaleHookSelection { code: 'target-missing'; reason: string; } export type HookWorkflowOwnerResolution = { status: 'none'; staleSelection?: StaleHookSelection; } | { status: 'owned'; owner: ActiveHookChange; } | { status: 'inferred'; owner: ActiveHookChange; staleSelection?: StaleHookSelection; } | { status: 'ambiguous'; candidates: ActiveHookChange[]; staleSelection?: StaleHookSelection; } | { status: 'stale'; code: 'selection-unreadable' | 'change-state-unreadable' | 'workflow-disabled' | 'classic-selection-invalid'; reason: string; }; interface HookRouterDependencies { listNative: typeof listActiveNativeHookChanges; listClassic: typeof listActiveClassicHookChanges; inspectNative: typeof inspectNativeHookGuard; inspectClassic: typeof inspectClassicHookGuard; scopeTargets?: typeof scopeCometHookTargets; } export declare function resolveHookWorkflowOwner(projectRoot: string, dependencies?: Pick): Promise; export declare function inspectCometHook(projectRoot: string, request: CometHookRequest, dependencies?: HookRouterDependencies): Promise; export {}; //# sourceMappingURL=hook-router.d.ts.map