import { BeanPath, BooleanPath, StringPath } from '../expression/'; import { QTypedManyResourceRelationship, QTypedOneResourceRelationship } from '../stub/'; import { MetaAttribute, QMetaAttribute } from './meta.attribute'; import { MetaElement, QMetaElement } from './meta.element'; import { MetaInterface, QMetaInterface } from './meta.interface'; import { MetaKey, QMetaKey } from './meta.key'; import { MetaPrimaryKey, QMetaPrimaryKey } from './meta.primary.key'; import { MetaType, QMetaType } from './meta.type'; import { ManyQueryResult, OneQueryResult, ResourceRelationship, TypedManyResourceRelationship, TypedOneResourceRelationship } from 'ngrx-json-api'; export declare module MetaDataObject { interface Relationships extends MetaType.Relationships { [key: string]: ResourceRelationship; subTypes?: TypedManyResourceRelationship; superType?: TypedOneResourceRelationship; attributes?: TypedManyResourceRelationship; declaredAttributes?: TypedManyResourceRelationship; primaryKey?: TypedOneResourceRelationship; declaredKeys?: TypedManyResourceRelationship; interfaces?: TypedManyResourceRelationship; } interface Attributes extends MetaElement.Attributes { insertable?: boolean; updatable?: boolean; deletable?: boolean; readable?: boolean; } } export interface MetaDataObject extends MetaType { relationships?: MetaDataObject.Relationships; attributes?: MetaDataObject.Attributes; } export interface MetaDataObjectResult extends OneQueryResult { data?: MetaDataObject; } export interface MetaDataObjectListResult extends ManyQueryResult { data?: Array; } export declare class QMetaDataObject extends BeanPath { metaId: string; id: StringPath; type: StringPath; relationships: QMetaDataObject.QRelationships; attributes: QMetaDataObject.QAttributes; } export declare module QMetaDataObject { class QRelationships extends BeanPath { private _subTypes; readonly subTypes: QTypedManyResourceRelationship; private _superType; readonly superType: QTypedOneResourceRelationship; private _attributes; readonly attributes: QTypedManyResourceRelationship; private _declaredAttributes; readonly declaredAttributes: QTypedManyResourceRelationship; private _primaryKey; readonly primaryKey: QTypedOneResourceRelationship; private _declaredKeys; readonly declaredKeys: QTypedManyResourceRelationship; private _interfaces; readonly interfaces: QTypedManyResourceRelationship; private _elementType; readonly elementType: QTypedOneResourceRelationship; private _parent; readonly parent: QTypedOneResourceRelationship; private _children; readonly children: QTypedManyResourceRelationship; } class QAttributes extends BeanPath { insertable: BooleanPath; updatable: BooleanPath; deletable: BooleanPath; readable: BooleanPath; name: StringPath; } } export declare let createEmptyMetaDataObject: (id: string) => MetaDataObject;