import { Entity } from './entity'; import { Field } from './field'; import { EntityInput, IPackage, IValidate, IValidationResult, IValidator, MetaModelType, ModelPackageInput, IEntityBase } from './interfaces'; import { MetaModel } from './metamodel'; import { Mutation } from './mutation'; import { Query } from './query'; import { Mixin } from './mixin'; import { Union } from './union'; import { Enum } from './enum'; import { Scalar } from './scalar'; import { Directive } from './directive'; import { Metadata } from './metadata'; export declare class ModelPackage extends Metadata implements IValidate, IPackage { modelType: MetaModelType; name: string; title?: string; description?: string; abstract: boolean; entities: Map; scalars: Map; directives: Map; mixins: Map; unions: Map; enums: Map; identityFields: Map; relations: Map>; mutations: Map; queries: Map; metaModel: MetaModel; validate(validator: IValidator): IValidationResult[]; constructor(input?: ModelPackageInput); connect(metaModel: MetaModel): void; addEntity(entity: Entity): Entity; addMutation(mutation: Mutation): Mutation; addQuery(query: Query): Query; addUnion(uni: Union): Union; addEnum(enu: Enum): Enum; addMixin(mix: Mixin): Mixin; addScalar(scalar: Scalar): Scalar; addDirective(directive: Directive): Directive; get(name: string): Entity; create(json: EntityInput): Entity; remove(name: string): void; readonly size: number; ensureAll(): void; toJSON(): ModelPackageInput; toObject(): any; private ensureEntity; private ensureMutation; private ensureQuery; private ensureMixin; private ensureScalar; private ensureDirective; private ensureUnion; private ensureEnum; } //# sourceMappingURL=modelpackage.d.ts.map