This repository has been archived by the owner on May 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.d.ts
126 lines (109 loc) · 2.44 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import * as React from 'react';
import * as moment from 'moment';
export interface Country {
code: string;
name: string;
nameEn: string;
}
export interface CityResponseAirportItem {
IATA: string;
}
export interface City {
IATA: string;
airports: CityResponseAirportItem[];
countryCode: string;
id: number;
name: string;
nameEn: string;
}
export interface PassengersConfig {
[passengerType: string]: number;
}
export interface SystemState {
rootElement?: HTMLElement;
nemoURL?: string;
webskyURL?: string;
routingGrid?: string;
locale?: Language;
verticalForm?: boolean;
readOnlyAutocomplete?: boolean;
autoFocusArrivalAirport?: boolean;
autoFocusReturnDate?: boolean;
mode?: ApplicationMode;
defaultDepartureAirport?: string | Airport;
defaultArrivalAirport?: string | Airport;
defaultDepartureDate?: string;
defaultReturnDate?: string;
defaultPassengers?: PassengersConfig;
defaultServiceClass?: ServiceClass;
directOnly?: boolean;
vicinityDatesMode?: boolean;
useNearestAirport?: boolean;
highlightAvailableDates?: boolean;
vicinityDays?: number;
enableCoupon?: boolean;
enableMileCard?: boolean;
aggregationOnly?: boolean;
disableCaching?: boolean;
isComplexRoute?: boolean;
}
export interface Airport {
IATA: string;
airportRating: string;
isAggregation: boolean;
name: string;
nameEn: string;
properName: string;
properNameEn: string;
city: City;
country: Country;
isCity?: boolean;
insideAggregationAirport?: boolean;
}
export interface SearchInfoSegment {
departure: Airport;
arrival: Airport;
departureDate: moment.Moment;
returnDate?: moment.Moment;
}
export enum Language {
English = 'en',
Russian = 'ru'
}
export enum ApplicationMode {
NEMO = 'NEMO',
WEBSKY = 'WEBSKY'
}
export enum ServiceClass {
Economy = 'Economy',
Business = 'Business'
}
export enum RouteType {
OW = 'OW',
RT = 'RT',
CR = 'CR'
}
export enum PassengerType {
Adult = 'ADT',
Child = 'CLD',
Infant = 'INF',
InfantWithSeat = 'INS'
}
export interface SearchInfoPassenger {
type: PassengerType;
count: number;
}
export interface SearchInfo {
segments: SearchInfoSegment[];
routeType: RouteType;
passengers: SearchInfoPassenger[];
serviceClass: ServiceClass;
}
export interface ComponentProps extends SystemState {
onSearch?: (params: SearchInfo) => void;
}
export const init: (config: any) => void;
export const enableCache: () => void;
export class Component extends React.Component<ComponentProps> {
getSeachInfo(): SearchInfo;
}