declare namespace io.apibuilder.api.json.v0.enums { type ParameterLocation = 'path' | 'query' | 'form' | 'header'; } declare namespace io.apibuilder.api.json.v0.models { interface Annotation { readonly 'description'?: string; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface ApiJson { readonly 'name': string; readonly 'info'?: io.apibuilder.api.json.v0.models.Info; readonly 'namespace'?: string; readonly 'base_url'?: string; readonly 'description'?: string; readonly 'imports'?: io.apibuilder.api.json.v0.models.Import[]; readonly 'headers'?: io.apibuilder.api.json.v0.models.Header[]; readonly 'enums'?: Record; readonly 'interfaces'?: Record; readonly 'templates'?: io.apibuilder.api.json.v0.models.Templates; readonly 'unions'?: Record; readonly 'models'?: Record; readonly 'resources'?: Record; readonly 'annotations'?: Record; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; } interface Attribute { readonly 'name': string; readonly 'value': any/*object*/; } interface Body { readonly 'type': string; readonly 'description'?: string; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface Contact { readonly 'name'?: string; readonly 'url'?: string; readonly 'email'?: string; } interface Deprecation { readonly 'description'?: string; } interface Enum { readonly 'plural'?: string; readonly 'description'?: string; readonly 'values': io.apibuilder.api.json.v0.models.EnumValue[]; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface EnumValue { readonly 'name': string; readonly 'value'?: string; readonly 'description'?: string; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface Field { readonly 'name': string; readonly 'type': string; readonly 'description'?: string; readonly 'required'?: boolean; readonly 'default'?: any/*json*/; readonly 'example'?: string; readonly 'minimum'?: number; readonly 'maximum'?: number; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'annotations'?: string[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface Header { readonly 'name': string; readonly 'type': string; readonly 'required'?: boolean; readonly 'description'?: string; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface Import { readonly 'uri': string; } interface Info { readonly 'contact'?: io.apibuilder.api.json.v0.models.Contact; readonly 'license'?: io.apibuilder.api.json.v0.models.License; } interface Interface { readonly 'plural'?: string; readonly 'description'?: string; readonly 'fields'?: io.apibuilder.api.json.v0.models.Field[]; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface License { readonly 'name': string; readonly 'url'?: string; } interface Model { readonly 'description'?: string; readonly 'plural'?: string; readonly 'fields'?: io.apibuilder.api.json.v0.models.Field[]; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'interfaces'?: string[]; readonly 'templates'?: io.apibuilder.api.json.v0.models.TemplateDeclaration[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface Operation { readonly 'method': string; readonly 'path'?: string; readonly 'description'?: string; readonly 'body'?: io.apibuilder.api.json.v0.models.Body; readonly 'parameters'?: io.apibuilder.api.json.v0.models.Parameter[]; readonly 'responses'?: Record; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface Parameter { readonly 'name': string; readonly 'type': string; readonly 'location'?: io.apibuilder.api.json.v0.enums.ParameterLocation; readonly 'description'?: string; readonly 'required'?: boolean; readonly 'default'?: any/*json*/; readonly 'minimum'?: number; readonly 'maximum'?: number; readonly 'example'?: string; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface Resource { readonly 'path'?: string; readonly 'description'?: string; readonly 'operations'?: io.apibuilder.api.json.v0.models.Operation[]; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'templates'?: io.apibuilder.api.json.v0.models.TemplateDeclaration[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface Response { readonly 'type': string; readonly 'headers'?: io.apibuilder.api.json.v0.models.Header[]; readonly 'description'?: string; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; } interface TemplateDeclaration { readonly 'name': string; readonly 'cast'?: Record; } interface Templates { readonly 'models'?: Record; readonly 'resources'?: Record; } interface Union { readonly 'plural'?: string; readonly 'discriminator'?: string; readonly 'description'?: string; readonly 'types': io.apibuilder.api.json.v0.models.UnionType[]; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'interfaces'?: string[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } interface UnionType { readonly 'type': string; readonly 'description'?: string; readonly 'default'?: boolean; readonly 'discriminator_value'?: string; readonly 'attributes'?: io.apibuilder.api.json.v0.models.Attribute[]; readonly 'deprecation'?: io.apibuilder.api.json.v0.models.Deprecation; } } export type Annotation = io.apibuilder.api.json.v0.models.Annotation; export type ApiJson = io.apibuilder.api.json.v0.models.ApiJson; export type Attribute = io.apibuilder.api.json.v0.models.Attribute; export type Body = io.apibuilder.api.json.v0.models.Body; export type Contact = io.apibuilder.api.json.v0.models.Contact; export type Deprecation = io.apibuilder.api.json.v0.models.Deprecation; export type Enum = io.apibuilder.api.json.v0.models.Enum; export type EnumValue = io.apibuilder.api.json.v0.models.EnumValue; export type Field = io.apibuilder.api.json.v0.models.Field; export type Header = io.apibuilder.api.json.v0.models.Header; export type Import = io.apibuilder.api.json.v0.models.Import; export type Info = io.apibuilder.api.json.v0.models.Info; export type Interface = io.apibuilder.api.json.v0.models.Interface; export type License = io.apibuilder.api.json.v0.models.License; export type Model = io.apibuilder.api.json.v0.models.Model; export type Operation = io.apibuilder.api.json.v0.models.Operation; export type Parameter = io.apibuilder.api.json.v0.models.Parameter; export type ParameterLocation = io.apibuilder.api.json.v0.enums.ParameterLocation; export type Resource = io.apibuilder.api.json.v0.models.Resource; export type Response = io.apibuilder.api.json.v0.models.Response; export type TemplateDeclaration = io.apibuilder.api.json.v0.models.TemplateDeclaration; export type Templates = io.apibuilder.api.json.v0.models.Templates; export type Union = io.apibuilder.api.json.v0.models.Union; export type UnionType = io.apibuilder.api.json.v0.models.UnionType;