/**
 * Travelport GDS adapter with HTTP request/response mapping
 *
 * Real HTTP: POST /air/catalog/search/catalogproductofferings (search)
 *            POST /air/catalog/price/catalogproductofferings (price)
 *            POST /air/booking (book)
 *            DELETE /air/booking/:id (cancel)
 *            GET /air/booking/:id (retrieve)
 *
 * Falls back to stub data when no credentials configured.
 */
import type { AdapterHealth, AuthConfig, GdsAdapter, GdsRequest, GdsResponse, Logger } from "../adapter.ts";
export interface TravelportAdapterConfig {
    /** API base URL (e.g. "https://api.travelport.com") */
    baseUrl?: string;
    /** Auth credentials */
    auth?: AuthConfig & {
        method: "oauth2";
    };
    /** Request timeout in ms */
    timeoutMs?: number;
    /** Logger */
    logger?: Logger;
}
export declare class TravelportAdapter implements GdsAdapter {
    readonly providerName = "travelport";
    readonly supportedCarriers: readonly ["QF", "SQ", "CX", "NZ", "SA", "EK", "EY", "LH", "AF", "KL"];
    private config;
    private readonly rateLimiter;
    private readonly circuitBreaker;
    private authenticated;
    private accessToken?;
    private tokenExpiry?;
    logger?: Logger;
    constructor(config?: TravelportAdapterConfig);
    supportsCarrier(carrier: string): boolean;
    authenticate(): Promise<void>;
    isAuthenticated(): Promise<boolean>;
    execute(request: GdsRequest): Promise<GdsResponse>;
    private buildRequest;
    private parseResponse;
    health(): Promise<AdapterHealth>;
}
//# sourceMappingURL=travelport.d.ts.map