import { type DnsNamespace } from "./endpoints/dns"; import { type DomainsNamespace } from "./endpoints/domains"; import { type PingMethod } from "./endpoints/ping"; import { type PricingMethod } from "./endpoints/pricing"; import { type SslNamespace } from "./endpoints/ssl"; export interface PorkbunClientOptions { apiKey: string; secretApiKey: string; baseUrl?: string; } /** * Base response structure returned by all Porkbun API endpoints. */ export interface PorkbunBaseResponse { /** The status of the request. "SUCCESS" indicates a successful response. */ status: string; /** An optional message providing additional details about the response. */ message?: string; /** Rate limit information for the API. */ limits?: { /** Time-to-live in seconds until the rate limit resets. */ TTL: number; /** Maximum number of requests allowed in the rate limit window. */ limit: number; /** Number of requests used in the current rate limit window. */ used: number; /** Human-readable description of the rate limit status. */ naturalLanguage: string; }; } export declare class PorkbunClient { private apiKey; private secretApiKey; private baseUrl; constructor(options: PorkbunClientOptions); request(path: string, payload?: object): Promise; ping: PingMethod; getDefaultPricing: PricingMethod; domains: DomainsNamespace; dns: DnsNamespace; ssl: SslNamespace; } export type { PingMethod, PricingMethod, DomainsNamespace, DnsNamespace, SslNamespace, }; //# sourceMappingURL=client.d.ts.map