import { NamecheapConfig, DomainCheckResult, DomainInfo, DomainSuggestion, DomainSuggestionOptions, DomainListResponse, DomainListOptions, DomainContacts, TldInfo, DomainLockStatus, UserBalances, ProductPricing, PricingOptions } from './types.js';
export declare class NamecheapClient {
    private client;
    private config;
    private parser;
    constructor(config: NamecheapConfig);
    private makeRequest;
    checkDomain(domain: string): Promise<DomainCheckResult>;
    checkDomainsBulk(domains: string[]): Promise<DomainCheckResult[]>;
    getDomainInfo(domain: string): Promise<DomainInfo>;
    registerDomain(domain: string, years?: number): Promise<boolean>;
    renewDomain(domain: string, years?: number): Promise<boolean>;
    getNameservers(domain: string): Promise<string[]>;
    setNameservers(domain: string, nameservers: string[]): Promise<boolean>;
    listDomains(options?: Partial<DomainListOptions>): Promise<DomainListResponse>;
    suggestDomains(options: DomainSuggestionOptions): Promise<DomainSuggestion[]>;
    private simulateAvailability;
    private getEstimatedPrice;
    getContacts(domain: string): Promise<DomainContacts>;
    setContacts(domain: string, contacts: DomainContacts): Promise<boolean>;
    getTldList(): Promise<TldInfo[]>;
    reactivate(domain: string): Promise<boolean>;
    getRegistrarLock(domain: string): Promise<DomainLockStatus>;
    setRegistrarLock(domain: string, lockStatus: boolean): Promise<boolean>;
    getBalances(): Promise<UserBalances>;
    getPricing(options: PricingOptions): Promise<ProductPricing[]>;
    getDomainPricing(tlds: string[], actionType?: 'REGISTER' | 'RENEW'): Promise<Map<string, ProductPricing[]>>;
}
