import { BelongsToMetadata } from './annotations/belongs-to'; import { HasManyMetadata } from './annotations/has-many'; import { HasManyMapMetadata } from './annotations/has-many-map'; import { IdMetadata, IdStrategy } from './annotations/id'; import { InlineMetadata } from './annotations/inline'; import { PropertyMetadata } from './annotations/property'; import { Hydrator } from './hydrator'; import { AdamantInjector } from './injector'; import { Ctor } from './utils/metadata'; import { Validator } from './validator'; export declare class EntityMetadataCollection { readonly entity: Ctor; readonly inline: boolean; readonly name?: string; readonly attachments?: boolean; readonly hydrator: (injector: AdamantInjector) => Hydrator; readonly validator: (injector: AdamantInjector) => Validator; readonly id: keyof T; readonly idType: typeof String | typeof Number; readonly idStrategy: IdStrategy; static create(entity: Ctor): EntityMetadataCollection; readonly properties: Map | HasManyMetadata | HasManyMapMetadata | InlineMetadata>; private constructor(); protected parse(): void; protected assert(): void; } export declare class DesignDocMetadataCollection { protected readonly designDoc: Ctor; readonly entity: Ctor; readonly name: string; readonly validateDoc?: keyof T; readonly views: Set; readonly filters: Set; static create(entity: Ctor): DesignDocMetadataCollection; private constructor(); protected parse(): void; protected assert(): void; }