/**
 * Load (or generate) the HMAC secret from `projectPath/.planu-secret`.
 * On first call, generates 32 random bytes and writes them to disk.
 * Also ensures `.planu-secret` is listed in `.gitignore`.
 */
export declare function loadSecret(projectPath: string): Promise<string>;
/**
 * Canonical JSON serialisation for signing.
 * Sort keys so signature is deterministic regardless of property order.
 */
export declare function canonicalJson(obj: Record<string, unknown>): string;
/** Compute HMAC-SHA256 over `data` using `secret`. Returns hex digest. */
export declare function hmacSign(secret: string, data: string): string;
/** Verify a previously computed HMAC-SHA256 signature. Constant-time compare via crypto. */
export declare function hmacVerify(secret: string, data: string, signature: string): boolean;
/** Reset cached secret (test helper only — not exported from index). */
export declare function _resetSecretCache(): void;
//# sourceMappingURL=signer.d.ts.map