export interface Operation { verb: string title: string descriptionHTML: string previews: Array requestPath: string serverUrl: string statusCodes: Array parameters: Array bodyParameters: Array category: string subcategory: string enabledForGitHubApps: boolean codeExamples: Array } export interface Parameter { exampleName?: string in: string name: string description: string required: boolean schema: { type: string default?: string enum?: Array } } export interface StatusCode { description: string httpStatusCode: string httpStatusMessage: string } export interface CodeSample { key: string response: { contentType: string description: string example: Record statusCode: string } request: { contentType: string acceptHeader: string bodyParameters: Record parameters: Record description: string } } export interface BodyParameter { in: string name: string description: string type: string isRequired?: boolean default?: string enum?: Array childParamsGroups?: Array } export interface ChildParameter { name: string description: string type: string isRequired?: boolean enum?: Array default?: string childParamsGroups?: ChildParameter[] } export type ExampleT = { description: string [CodeSampleKeys.curl]?: string [CodeSampleKeys.javascript]?: string [CodeSampleKeys.ghcli]?: string response: { statusCode: string contentType?: string description: string example?: Object schema?: Object } } export enum ResponseKeys { example = 'example', schema = 'schema', } export enum CodeSampleKeys { curl = 'curl', javascript = 'javascript', ghcli = 'ghcli', }