/**
 * Amadeus GDS adapter with HTTP request/response mapping
 *
 * Real HTTP: POST /v2/shopping/flight-offers (search)
 *            POST /v1/shopping/flight-offers/pricing (price)
 *            POST /v1/bookings (book)
 *            DELETE /v1/bookings/:id (cancel)
 *            GET /v1/bookings/:id (retrieve)
 *
 * Falls back to stub data when no credentials configured.
 */
import type { AdapterHealth, AuthConfig, GdsAdapter, GdsRequest, GdsResponse, Logger } from "../adapter.ts";
export interface AmadeusAdapterConfig {
    /** API base URL (e.g. "https://test.api.amadeus.com") */
    baseUrl?: string;
    /** Auth credentials */
    auth?: AuthConfig & {
        method: "oauth2";
    };
    /** Request timeout in ms */
    timeoutMs?: number;
    /** Logger */
    logger?: Logger;
}
export declare class AmadeusAdapter implements GdsAdapter {
    readonly providerName = "amadeus";
    readonly supportedCarriers: readonly ["AA", "BA", "QF", "CX", "JL", "NH", "SQ", "EK", "EY"];
    private config;
    private readonly rateLimiter;
    private readonly circuitBreaker;
    private authenticated;
    private accessToken?;
    private tokenExpiry?;
    logger?: Logger;
    constructor(config?: AmadeusAdapterConfig);
    supportsCarrier(carrier: string): boolean;
    authenticate(): Promise<void>;
    isAuthenticated(): Promise<boolean>;
    execute(request: GdsRequest): Promise<GdsResponse>;
    private buildRequest;
    private parseResponse;
    health(): Promise<AdapterHealth>;
}
//# sourceMappingURL=amadeus.d.ts.map