import React from 'react';
import { ExtendedFlightSearchResponseItem, Filters, SortByType } from '../../../types';
interface FlightFilterContextProps {
  children: React.ReactNode;
  tideConnection: any;
}
interface FlightSearchContext {
  isHubReady: boolean;
  searchRequestId: number;
  detailesSearchRequestId: number;
  valuesManuallyChanged: boolean;
  flightsLoading: boolean;
  flightSearchDetailsLoading: boolean;
  numberOfTravellers: number;
  flightSearchResults: ExtendedFlightSearchResponseItem[];
  flightDetailsSearchResults: ExtendedFlightSearchResponseItem[];
  filteredResults: ExtendedFlightSearchResponseItem[];
  filters: Filters;
  sortByTypes: SortByType[];
  selectedSortByType: SortByType;
  airlineResults: ExtendedFlightSearchResponseItem[];
  numberOfStopsResults: ExtendedFlightSearchResponseItem[];
  departureRangeResults: ExtendedFlightSearchResponseItem[];
  departureAirportsResults: ExtendedFlightSearchResponseItem[];
  arrivalAirportsResults: ExtendedFlightSearchResponseItem[];
  travelTimeResults: ExtendedFlightSearchResponseItem[];
  priceResults: ExtendedFlightSearchResponseItem[];
  onFlightSearch: (selectedFlight?: ExtendedFlightSearchResponseItem) => void;
  onCancelSearch: () => void;
  setFilters: (filters: Filters) => void;
  setSelectedSortByType: (val: SortByType) => void;
  resetFilters: () => void;
  setValuesManuallyChanged: (val: boolean) => void;
  onFilter: () => void;
}
declare const FlightSearchContext: React.Context<FlightSearchContext>;
export declare const FlightSearchProvider: React.FC<FlightFilterContextProps>;
export declare const useFlightSearch: () => FlightSearchContext;
export {};
