/**
 * PreToolUse skill-chain state guard (0669 Wave 3 / AC-US5-03).
 *
 * Replaces the prior filesystem-marker-only implementation with a dual-read
 * strategy that prefers TaskGet-based state and falls back to legacy
 * `.specweave/state/skill-chain-*.json` markers for one release (NFR-1.2).
 *
 * @module core/hooks/pretooluse-guard
 */
export interface SkillChainState {
    phase?: string;
    incrementId?: string;
    source?: string;
    [key: string]: unknown;
}
export type TaskStateProvider = (incrementId: string | undefined) => Promise<SkillChainState | null>;
export interface GuardContext {
    stateDir: string;
    incrementId?: string;
}
export type StateSource = 'task-state' | 'filesystem' | 'default';
export interface GuardDecision {
    decision: 'allow' | 'block';
    source: StateSource;
    state: SkillChainState | null;
    reason?: string;
}
/**
 * Determine the skill-chain state for the current increment.
 *
 * Resolution order:
 *   1. TaskGet-based state (primary source).
 *   2. Filesystem `skill-chain-*.json` marker (legacy fallback for one release).
 *   3. Safe permissive default — never block tool use on missing state.
 */
export declare function checkSkillChainState(context: GuardContext, taskStateProvider?: TaskStateProvider): Promise<GuardDecision>;
//# sourceMappingURL=pretooluse-guard.d.ts.map