/**
 * Persistent label cache for GitHub sync.
 *
 * Avoids redundant `gh label create --force` calls across CLI invocations.
 * Keyed by `owner/repo` to prevent cross-repo contamination.
 *
 * Persistence: When setLabelCacheDir() is called, labels are loaded from
 * and saved to `.specweave/state/github-label-cache.json`. Cache entries
 * older than 24h are ignored on load.
 *
 * @module label-cache
 */
/**
 * Configure disk persistence directory.
 * Call this before ensureLabels() to enable cross-session caching.
 *
 * @param stateDir - Path to .specweave/state/ directory
 */
export declare function setLabelCacheDir(stateDir: string): void;
/**
 * Ensure labels exist in the target repo, skipping those already created
 * in this session or found in disk cache.
 *
 * @param repo - Repo slug in "owner/repo" format
 * @param labels - Label names to ensure
 * @param env - Environment object (should include GH_TOKEN)
 */
export declare function ensureLabels(repo: string, labels: string[], env: NodeJS.ProcessEnv): Promise<void>;
/**
 * Clear the label cache (for testing or between sync sessions).
 */
export declare function clearLabelCache(): void;
//# sourceMappingURL=label-cache.d.ts.map