import { TokenRequest } from "./request/TokenRequest"; import { TokenResponse } from "./response/TokenResponse"; import { SearchcodeResponse } from "./response/SearchcodeResponse"; import { SearchcodeRequest } from "./request/SearchcodeRequest"; import { AddresszipRequest } from "./request/AddresszipRequest"; import { AddresszipResponse } from "./response/AddresszipResponse"; import { RetryOptions, CircuitBreakerOptions } from "./retry"; export interface JapanPostTokenInitOptions { client_id: string; secret_key: string; } export interface JapanPostAPIOptions { baseUrl?: string; autoTokenRefresh?: boolean; /** Retry configuration */ retryOptions?: RetryOptions; /** Circuit breaker configuration */ circuitBreakerOptions?: CircuitBreakerOptions; /** Whether to enable validation (default: true) */ enableValidation?: boolean; } type TokenInit = string | JapanPostTokenInitOptions; export declare class JapanPostAPI { #private; constructor(tokenInit: TokenInit, options?: JapanPostAPIOptions); initToken(options?: JapanPostTokenInitOptions): Promise; setToken(token: string): void; tokenExpired(): boolean; token(request?: TokenRequest): Promise; searchcode(request: SearchcodeRequest): Promise; searchcodeAll(request: SearchcodeRequest): AsyncGenerator; addresszip(request: AddresszipRequest): Promise; addresszipAll(request: AddresszipRequest): AsyncGenerator; /** * Update retry configuration */ updateRetryOptions(options: RetryOptions): void; /** * Get circuit breaker state */ getCircuitBreakerState(): { state: import("./retry").CircuitBreakerState; failureCount: number; }; /** * Reset circuit breaker */ resetCircuitBreaker(): void; } export {}; //# sourceMappingURL=JapanPostAPI.d.ts.map