/**
 * Session-level milestone cache for GitHub sync.
 *
 * Avoids redundant milestone lookup/creation API calls within a single
 * sync session. Keyed by `owner/repo:title` to prevent cross-repo
 * contamination.
 *
 * @module milestone-cache
 */
interface CachedMilestone {
    number: number;
    url: string;
}
export declare class MilestoneCache {
    /**
     * Get an existing milestone or create a new one, with session caching.
     *
     * @param owner - Repo owner
     * @param repo - Repo name
     * @param title - Milestone title
     * @param description - Milestone description (used only for creation)
     * @param env - Environment object (should include GH_TOKEN)
     * @returns Milestone number and URL
     */
    static getOrCreate(owner: string, repo: string, title: string, description: string, env: NodeJS.ProcessEnv): Promise<CachedMilestone>;
}
/**
 * Clear the milestone cache (for testing or between sync sessions).
 */
export declare function clearMilestoneCache(): void;
export {};
//# sourceMappingURL=milestone-cache.d.ts.map