/**
 * Sabre GDS adapter with HTTP request/response mapping
 *
 * Real HTTP: POST /v4/offers/shop (search — Bargain Finder Max)
 *            POST /v4/offers/price (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 SabreAdapterConfig {
    /** API base URL (e.g. "https://api.cert.sabre.com") */
    baseUrl?: string;
    /** Auth credentials */
    auth?: AuthConfig & {
        method: "oauth2";
    };
    /** Request timeout in ms */
    timeoutMs?: number;
    /** Logger */
    logger?: Logger;
}
export declare class SabreAdapter implements GdsAdapter {
    readonly providerName = "sabre";
    readonly supportedCarriers: readonly ["AA", "UA", "DL", "WN", "HA", "B6", "NK", "F9"];
    private config;
    private readonly rateLimiter;
    private readonly circuitBreaker;
    private authenticated;
    private accessToken?;
    private tokenExpiry?;
    logger?: Logger;
    constructor(config?: SabreAdapterConfig);
    supportsCarrier(carrier: string): boolean;
    authenticate(): Promise<void>;
    isAuthenticated(): Promise<boolean>;
    execute(request: GdsRequest): Promise<GdsResponse>;
    private buildRequest;
    private parseResponse;
    health(): Promise<AdapterHealth>;
}
//# sourceMappingURL=sabre.d.ts.map