import { Block } from 'comment-parser'; import { OpenAPIV3 } from 'openapi-types'; import type { PseudoBigInt } from 'typescript'; export declare type AnyValue = { type: 'any'; }; export declare type UndefinedValue = { type: 'undefined'; }; export declare type Primitive = { type: 'string' | 'number' | 'integer' | 'boolean' | 'null'; enum?: (string | number | boolean | null | PseudoBigInt)[]; enumDescriptions?: Record; enumsDeprecated?: string[]; }; export declare function isPrimitive(schema: Schema): schema is Primitive; export declare type Array = { type: 'array'; items: Schema; }; export declare type Object = { type: 'object'; properties: Record; required: string[]; }; export declare type RecordObject = { type: 'record'; domain?: Schema; codomain: Schema; }; export declare type CombinedType = { type: 'union' | 'intersection' | 'tuple'; schemas: Schema[]; }; export declare type Reference = { type: 'ref'; name: string; location: string; }; export declare type BaseSchema = Primitive | Array | Object | RecordObject | CombinedType | AnyValue | UndefinedValue | Reference; export declare type HasComment = { comment?: Block; }; export declare type SchemaMetadata = Omit; declare type SchemaTypeInfo = { primitive?: boolean; decodedType?: string; }; export declare type Schema = BaseSchema & HasComment & SchemaMetadata & SchemaTypeInfo; export {}; //# sourceMappingURL=ir.d.ts.map