import * as ts from 'typescript'; export declare type Item = { $ref?: string; oneOf?: Item[]; allOf?: Item[]; type?: 'string' | 'integer' | 'boolean' | 'array' | 'object'; enum?: string[]; description?: string; items?: Item; example?: string; default?: string; format?: string; required?: string[]; properties?: { [key: string]: Item; }; }; export declare const createPropertyDefinition: (def: Item, schemas: { [key: string]: Item; }, name: string) => { type: ts.TypeReferenceNode | ts.UnionTypeNode | ts.IntersectionTypeNode | ts.ArrayTypeNode; enums: ts.EnumDeclaration[]; deps: (string | { [key: string]: string; })[]; }; export declare const capitalize: (s: string) => string; export declare const snakeToCamelCase: (s: string) => string; export declare const createObjectType: (objectName: string, schema: Item, schemas: { [key: string]: Item; }) => { type: ts.TypeLiteralNode; deps: (string | { [key: string]: string; })[]; enums: ts.EnumDeclaration[]; }; export declare const makeType: (name: string, schema: Item, schemas: { [key: string]: Item; }) => { type: ts.TypeAliasDeclaration; deps: (string | { [key: string]: string; })[]; enums: ts.EnumDeclaration[]; }; export declare const makeImport: ([exp, mod]: string[]) => ts.ImportDeclaration; export declare const makeIndex: (type: string) => ts.ExportDeclaration; export declare const makeTypes: (types: Map) => ts.EnumDeclaration;