import type { HookCategory, HookEventPath, HookPhase } from './types.js';
export type HookExecutionMode = 'blocking' | 'non_blocking' | 'background';
export type HookAuthority = 'intercept' | 'observe' | 'defer' | 'chain';
export interface HookPointContract {
    pattern: HookEventPath;
    description: string;
    authority: HookAuthority;
    executionMode: HookExecutionMode;
    canDeny: boolean;
    canMutateInput: boolean;
    canInjectContext: boolean;
    timeoutMs: number;
    failurePolicy: 'fail_open' | 'fail_closed' | 'log_only';
}
export declare function listHookPointContracts(): HookPointContract[];
export declare function getHookPointContract(path: HookEventPath): HookPointContract | null;
export declare function parseHookPath(path: HookEventPath): {
    phase: HookPhase;
    category: HookCategory;
    specific: string;
};
//# sourceMappingURL=contracts.d.ts.map