import type { ClarificationToken } from '../../types/index.js';
import type { InteractiveQuestion } from '../../types/clarification.js';
export declare const CLARIFICATION_TOKEN_TTL_MS: number;
/**
 * Compute a deterministic hash over a questions array.
 * Used to verify that clarificationAnswers correspond to the pending batch.
 */
export declare function hashQuestions(questions: InteractiveQuestion[]): string;
/**
 * Read all non-expired tokens for a project.
 * Expired tokens are pruned lazily and the file is rewritten if any were removed.
 */
export declare function readTokens(projectId: string): Promise<ClarificationToken[]>;
/**
 * Find the first non-expired token matching (toolName, specId?).
 * Returns null when no match or when the token is expired.
 */
export declare function findToken(projectId: string, toolName: string, specId?: string): Promise<ClarificationToken | null>;
/**
 * Persist a new token. Replaces any existing token for the same (toolName, specId?).
 */
export declare function upsertToken(token: ClarificationToken): Promise<void>;
/**
 * Remove the token matching (projectId, toolName, specId?).
 * No-op if the token does not exist.
 */
export declare function clearToken(projectId: string, toolName: string, specId?: string): Promise<void>;
//# sourceMappingURL=token-store.d.ts.map