import type { HookRegistry } from "../../contracts/hooks.js";
import type { CommunityDiscoveryCoordinator } from "../community/community-discovery-coordinator.js";
export declare const SKILL_RECALL_CONFIG: {
    readonly MAX_RECALLED_SKILLS: 3;
    readonly MAX_SKILL_CONTENT_CHARS: 800;
    readonly CACHE_TTL_MS: number;
};
/**
 * Detect whether user message contains retrospective/cross-reference semantics
 * OR similar-task patterns that could benefit from existing skills.
 * Returns extracted keywords for skill matching if triggered, or null.
 */
export declare function detectRetrospectiveTrigger(message: string): string[] | null;
export interface SkillRecallHooksDeps {
    /** Current project cwd (to exclude from cross-project search). */
    currentCwd?: string;
    /** Optional online community discovery coordinator. */
    communityDiscovery?: CommunityDiscoveryCoordinator | null;
    /** Logger. */
    log: {
        debug(msg: string): void;
        warn(msg: string): void;
    };
}
/**
 * Register the cross-project skill recall hook on `memory.before_recall`.
 * Runs at lower priority (60) than QMemory prefetch (50) so it supplements,
 * not replaces, the standard memory recall.
 *
 * When triggered, injects cross-project skill metadata into recalledMemories.
 */
export declare function registerSkillRecallHooks(hooks: HookRegistry, deps: SkillRecallHooksDeps): () => void;
/**
 * Invalidate the cross-project skill index cache.
 * Call when skills are created/deleted/promoted to refresh.
 */
export declare function invalidateSkillRecallCache(): void;
