import PropTypes from 'prop-types'; 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 const parameterLocation: PropTypes.Requireable; export const annotation: PropTypes.Requireable; export const apiJson: PropTypes.Requireable; export const attribute: PropTypes.Requireable; export const body: PropTypes.Requireable; export const contact: PropTypes.Requireable; export const deprecation: PropTypes.Requireable; export const UNSAFE_enum: PropTypes.Requireable; export const enumValue: PropTypes.Requireable; export const field: PropTypes.Requireable; export const header: PropTypes.Requireable; export const UNSAFE_import: PropTypes.Requireable; export const info: PropTypes.Requireable; export const UNSAFE_interface: PropTypes.Requireable; export const license: PropTypes.Requireable; export const model: PropTypes.Requireable; export const operation: PropTypes.Requireable; export const parameter: PropTypes.Requireable; export const resource: PropTypes.Requireable; export const response: PropTypes.Requireable; export const templateDeclaration: PropTypes.Requireable; export const templates: PropTypes.Requireable; export const union: PropTypes.Requireable; export const unionType: PropTypes.Requireable;