import { NamecheapClient } from './namecheap-client.js';
interface TldInfo {
    name: string;
    isApiRegisterable: boolean;
    isRenewalAllowed: boolean;
    minRegisterYears: number;
    maxRegisterYears: number;
    minRenewYears: number;
    maxRenewYears: number;
    isTransferrable: boolean;
    transferLockDays: number;
    isPrivacyProtectionAllowed: boolean;
    isIdnSupported: boolean;
    supportedIdnLanguages?: string[];
    categories?: string[];
    isPremium?: boolean;
}
export declare class TldCache {
    private cache;
    private cacheTimestamp;
    private readonly CACHE_DURATION;
    private readonly client;
    constructor(client: NamecheapClient);
    private fetchAndParseTldList;
    private ensureCache;
    getTlds(options?: {
        search?: string;
        category?: string;
        registerable?: boolean;
        page?: number;
        pageSize?: number;
        sortBy?: 'name' | 'popularity';
    }): Promise<{
        tlds: TldInfo[];
        totalCount: number;
        page: number;
        pageSize: number;
        totalPages: number;
    }>;
    refreshCache(): Promise<void>;
}
export {};
//# sourceMappingURL=tld-cache.d.ts.map