import { BeanPath, BooleanPath, StringPath } from '../expression/'; import { QTypedManyResourceRelationship, QTypedOneResourceRelationship } from '../stub/'; import { MetaElement, QMetaElement } from './meta.element'; import { MetaType, QMetaType } from './meta.type'; import { ManyQueryResult, OneQueryResult, ResourceRelationship, TypedOneResourceRelationship } from 'ngrx-json-api'; export declare module MetaAttribute { interface Relationships extends MetaElement.Relationships { [key: string]: ResourceRelationship; type?: TypedOneResourceRelationship; oppositeAttribute?: TypedOneResourceRelationship; } interface Attributes extends MetaElement.Attributes { association?: boolean; derived?: boolean; lazy?: boolean; version?: boolean; primaryKeyAttribute?: boolean; sortable?: boolean; filterable?: boolean; insertable?: boolean; updatable?: boolean; lob?: boolean; nullable?: boolean; cascaded?: boolean; readable?: boolean; } } export interface MetaAttribute extends MetaElement { relationships?: MetaAttribute.Relationships; attributes?: MetaAttribute.Attributes; } export interface MetaAttributeResult extends OneQueryResult { data?: MetaAttribute; } export interface MetaAttributeListResult extends ManyQueryResult { data?: Array; } export declare class QMetaAttribute extends BeanPath { metaId: string; id: StringPath; type: StringPath; relationships: QMetaAttribute.QRelationships; attributes: QMetaAttribute.QAttributes; } export declare module QMetaAttribute { class QRelationships extends BeanPath { private _type; readonly type: QTypedOneResourceRelationship; private _oppositeAttribute; readonly oppositeAttribute: QTypedOneResourceRelationship; private _parent; readonly parent: QTypedOneResourceRelationship; private _children; readonly children: QTypedManyResourceRelationship; } class QAttributes extends BeanPath { association: BooleanPath; derived: BooleanPath; lazy: BooleanPath; version: BooleanPath; primaryKeyAttribute: BooleanPath; sortable: BooleanPath; filterable: BooleanPath; insertable: BooleanPath; updatable: BooleanPath; lob: BooleanPath; nullable: BooleanPath; cascaded: BooleanPath; readable: BooleanPath; name: StringPath; } } export declare let createEmptyMetaAttribute: (id: string) => MetaAttribute;