export type Auth = { readonly type: AuthEnum readonly basic?: readonly BasicAuth[] } export type BasicAuth = { readonly key: string readonly value: string readonly type?: string } export type Body = { readonly raw?: string readonly mode?: BodyMode readonly urlencoded?: readonly UrlEncoded[] readonly file?: File readonly formdata?: readonly FormParameter[] } export type Collection = { readonly info: Info readonly item: readonly Item | Folder[] readonly event: readonly Event[] readonly variable: readonly Variable[] readonly auth?: Auth } export type Description = { readonly content?: string readonly type?: string } export type Event = { readonly listen: EventType readonly script?: Script readonly id?: string readonly disabled?: boolean } export type File = { readonly src?: string readonly content?: string } export type Folder = { readonly name: string readonly description?: Description readonly variable?: readonly Variable[] readonly item: readonly Item[] readonly event?: readonly Event[] readonly auth?: Auth } export type FormParameter = { readonly key: string readonly value?: string readonly disabled?: boolean readonly description?: Description readonly contentType?: string readonly type?: string } export type Header = { readonly key: string readonly value: string readonly disabled?: boolean readonly description?: Description } export type Info = { readonly name: string readonly postman_id?: string readonly description?: Description readonly version?: string readonly schema: string } export type Item = { readonly id?: string readonly name?: string readonly description?: Description readonly variable?: readonly Variable[] readonly event?: readonly Event[] readonly request: Request readonly response?: readonly Response[] } export type QueryParam = { readonly key?: string readonly value?: string readonly disabled?: boolean readonly description?: Description } export type Request = { readonly url?: Url readonly auth?: Auth readonly method?: Method readonly description?: Description readonly header?: readonly Header[] readonly body?: Body } export type Response = { readonly id?: string readonly name?: string readonly originalRequest?: Request readonly responseTime?: string readonly header?: readonly Header[] readonly body?: string readonly status?: string readonly code?: number } export type Script = { readonly exec: readonly string[] readonly type: string readonly id?: string readonly src?: string readonly name?: string } export type Url = { readonly raw?: string readonly protocol?: string readonly host?: readonly string[] readonly path?: readonly string[] readonly port?: string readonly query?: readonly QueryParam[] readonly hash?: string readonly variable?: readonly Variable[] } export type UrlEncoded = { readonly key: string readonly value?: string readonly disabled?: boolean readonly description?: Description } export type Variable = { readonly id?: string readonly key?: string readonly value?: string readonly type?: string readonly name?: string readonly description?: Description readonly system?: boolean readonly disabled?: boolean } export type AuthEnum = | 'awsv4' | 'basic' | 'bearer' | 'digest' | 'hawk' | 'noauth' | 'oauth1' | 'oauth2' | 'ntlm' export type BodyMode = 'raw' | 'urlencoded' | 'formdata' | 'file' export type EventType = 'test' | 'prerequest' export type Method = | 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE' | 'COPY' | 'HEAD' | 'OPTIONS' | 'LINK' | 'UNLINK' | 'PURGE' | 'LOCK' | 'UNLOCK' | 'PROPFIND' | 'VIEW' export type JSONValue = | string | number | boolean | { readonly [x: string]: JSONValue } | readonly JSONValue[]