import { ClassConstructor } from '../../type'; import { ArraySchema } from './array'; import { ObjectSchema, ObjectSchemaProps } from './object'; import 'reflect-metadata'; export declare class ClassRefSchema extends ObjectSchema { private readonly classRef; constructor(classRef: ClassConstructor); static collectAllProperties(classRef: ClassConstructor): { schemaProps: ObjectSchemaProps; swaggerProps: Record; }; static Pick(classRef: ClassConstructor, properties: K[]): ClassConstructor>; static Omit(classRef: ClassConstructor, properties: K[]): ClassConstructor>; static Partial(classRef: ClassConstructor): ClassConstructor>; buildSwagger(): Record; array(): ArraySchema; clone(): ClassRefSchema; }