import { BeanPath, BooleanPath, StringPath } from '../expression/'; import { QTypedManyResourceRelationship, QTypedOneResourceRelationship } from '../stub/'; import { MetaAttribute, QMetaAttribute } from './meta.attribute'; import { MetaElement, QMetaElement } from './meta.element'; import { ManyQueryResult, OneQueryResult, ResourceRelationship, TypedManyResourceRelationship } from 'ngrx-json-api'; export declare module MetaKey { interface Relationships extends MetaElement.Relationships { [key: string]: ResourceRelationship; elements?: TypedManyResourceRelationship; } interface Attributes extends MetaElement.Attributes { unique?: boolean; } } export interface MetaKey extends MetaElement { relationships?: MetaKey.Relationships; attributes?: MetaKey.Attributes; } export interface MetaKeyResult extends OneQueryResult { data?: MetaKey; } export interface MetaKeyListResult extends ManyQueryResult { data?: Array; } export declare class QMetaKey extends BeanPath { metaId: string; id: StringPath; type: StringPath; relationships: QMetaKey.QRelationships; attributes: QMetaKey.QAttributes; } export declare module QMetaKey { class QRelationships extends BeanPath { private _elements; readonly elements: QTypedManyResourceRelationship; private _parent; readonly parent: QTypedOneResourceRelationship; private _children; readonly children: QTypedManyResourceRelationship; } class QAttributes extends BeanPath { unique: BooleanPath; name: StringPath; } } export declare let createEmptyMetaKey: (id: string) => MetaKey;