import { TideClientConfig } from "..";
import {
  AvailableCountriesRequest,
  AvailableCountry,
  AvailableFlight,
  AvailableFlightsRequest,
  BasePrice,
  BookableDates,
  BookableDatesRequest,
  BookingPackage,
  BookingPackageAvailability,
  BookingPackageBookRequest,
  BookingPackageDetailsRequest,
  BookingPackageDossier,
  BookingPackageFlightPool,
  BookingPackageFlightPoolRequest,
  BookingPackageHotelPool,
  BookingPackageItem,
  BookingPackageRequest,
  BookingPackageSearchRequest,
  BookingPackageUpdateRequest,
  BookingPackageVoucherRequest,
  BookingPriceDetails,
  BookingTravelAgent,
  BookingVoucherResult,
  EntryStatus,
  PricesRequest,
  TideResponse,
  TourCodesRequest,
  TourCodesResponse,
  TransportDatesRequest,
  TransportDatesResponse,
} from "../types";
export declare const availableFlights: (
  config: TideClientConfig,
  request: AvailableFlightsRequest,
  signal?: AbortSignal | undefined
) => Promise<AvailableFlight[]>;
export declare const transportDates: (
  config: TideClientConfig,
  request: TransportDatesRequest,
  signal?: AbortSignal | undefined
) => Promise<TransportDatesResponse>;
export declare const prices: (
  config: TideClientConfig,
  request: PricesRequest,
  signal?: AbortSignal | undefined
) => Promise<BasePrice[]>;
export declare const availableCountries: (
  config: TideClientConfig,
  request: AvailableCountriesRequest,
  signal?: AbortSignal | undefined
) => Promise<AvailableCountry[]>;
export declare const search: (
  config: TideClientConfig,
  request: BookingPackageRequest<BookingPackageSearchRequest>,
  signal?: AbortSignal | undefined
) => Promise<BookingPackageItem[]>;
export declare const searchWithErrorMapping: (
  config: TideClientConfig,
  request: BookingPackageRequest<BookingPackageSearchRequest>,
  signal?: AbortSignal | undefined
) => Promise<TideResponse<BookingPackageItem[]>>;
export declare const details: (
  config: TideClientConfig,
  request: BookingPackageRequest<BookingPackageDetailsRequest>,
  signal?: AbortSignal | undefined,
  languageCode?: string | undefined
) => Promise<TideResponse<BookingPackage>>;
export declare const validateVoucher: (
  config: TideClientConfig,
  request: BookingPackageRequest<BookingPackageVoucherRequest>,
  signal?: AbortSignal | undefined
) => Promise<BookingVoucherResult>;
export declare const alternateHotels: (
  config: TideClientConfig,
  transactionId: string,
  optionId: string,
  signal?: AbortSignal | undefined
) => Promise<BookingPackageHotelPool>;
export declare const alternateFlights: (
  config: TideClientConfig,
  transactionId: string,
  signal?: AbortSignal | undefined
) => Promise<BookingPackageFlightPool>;
export declare const bookableDates: (
  config: TideClientConfig,
  request: BookableDatesRequest,
  signal?: AbortSignal | undefined
) => Promise<BookableDates>;
export declare const priceDetails: (
  config: TideClientConfig,
  request: BookingPackageRequest<BookingPackageBookRequest>,
  signal?: AbortSignal | undefined,
  languageCode?: string | undefined
) => Promise<BookingPriceDetails>;
export declare const book: (
  config: TideClientConfig,
  request: BookingPackageRequest<BookingPackageBookRequest>,
  signal?: AbortSignal | undefined,
  languageCode?: string | undefined
) => Promise<BookingPackageDossier>;
export declare const update: (
  config: TideClientConfig,
  request: BookingPackageRequest<BookingPackageUpdateRequest>,
  signal?: AbortSignal | undefined
) => Promise<BookingPackageDossier>;
export declare const agents: (
  config: TideClientConfig,
  signal?: AbortSignal | undefined
) => Promise<BookingTravelAgent[]>;
export declare const getAllotmentAvailability: (
  config: TideClientConfig,
  eventId: string,
  productCode: string,
  signal?: AbortSignal | undefined
) => Promise<BookingPackageAvailability[]>;
export declare const searchFlightPool: (
  config: TideClientConfig,
  request: BookingPackageRequest<BookingPackageFlightPoolRequest>,
  signal?: AbortSignal | undefined
) => Promise<BookingPackageFlightPool>;
export declare const tourCodes: (
  config: TideClientConfig,
  request: TourCodesRequest,
  signal?: AbortSignal | undefined
) => Promise<TourCodesResponse>;
export declare const setCustomEntryStatus: (
  config: TideClientConfig,
  dossierNumber: string,
  customEntryStatusId: number,
  signal?: AbortSignal | undefined
) => Promise<BookingPackageAvailability[]>;
export declare const setEntryStatus: (
  config: TideClientConfig,
  dossierNumber: string,
  entryStatus: EntryStatus,
  signal?: AbortSignal | undefined
) => Promise<BookingPackageAvailability[]>;
