import { Providers } from '@tripian/model';
declare class API {
    private axios;
    private proxyURL;
    private apiUrl;
    private lang;
    private sandbox;
    constructor(apiUrl: string, apiKey: string, sandbox: boolean, proxyURL: string, lang: string);
    private getDestinationId;
    products: (cityName: string, startDate: string, endDate: string, limit?: number) => Promise<Providers.Viator.Product[]>;
    productInfo: (productCode: string) => Promise<Providers.Viator.ProductInfo>;
    productBookingQuestions: () => Promise<Providers.Viator.BookingQuestions>;
    availabilitySchedule: (productCode: string) => Promise<Providers.Viator.AvailabilitySchedule>;
    tourData: (productCode: string) => Promise<Providers.Viator.TourData>;
    locations: (locations: string[]) => Promise<Providers.Viator.LocationList>;
    availabilityPriceCheck: (request: Providers.Viator.AvailabilityCheckRequest) => Promise<Providers.Viator.AvailabilityCheck | Providers.Viator.AvailabilityCheckErrorResponse>;
    bookingCardHold: (request: Providers.Viator.BookingCardHoldRequest) => Promise<Providers.Viator.BookingCardHold>;
    payment: (sessionToken: string, request: Providers.Viator.PaymentRequest) => Promise<Providers.Viator.Payment>;
    bookingConfirm: (request: Providers.Viator.BookingConfirmRequest) => Promise<Providers.Viator.BookingConfirm>;
    bookingStatus: ({ bookingRef }: {
        bookingRef: string;
    }) => Promise<Providers.Viator.BookingConfirmItem>;
    bookingRefundDetails: (bookingRef: string) => Promise<Providers.Viator.BookingRefund>;
    bookingCancel: (bookingRef: string) => Promise<Providers.Viator.BookingCancel>;
    exchangeRates: (sourceCurrencies: string[], targetCurrencies: string[]) => Promise<Providers.Viator.ExchangeRates[]>;
}
export default API;
