import { Entity } from '../entity'; import { Queue } from '../utils'; import { Manager } from '../manager'; import { Query } from '../query'; import LINQ from '@berish/linq'; export interface IPlainQueueActionData { manager: Manager; plain: Plain; srcAdded: LINQ; dstAdded: LINQ; srcRemoved: LINQ; dstRemoved: LINQ; } export interface IPlainRaw { id: string; src: string; dst: string; parent: string; level: number; } export declare class Plain { static create(ctor: string | (new () => Current), plainName: string, entityId: () => string): Plain; static createFromDst(ctor: string | (new () => Current), plainName: string, entityId: () => string): Plain; private _className; private _plainName; private _mode; private _entityId; private _queue; private initQueueData; constructor(ctor: string | (new () => Entity), plainName: string, mode: 'src' | 'dst', entityId: () => string); get entityId(): string; get queue(): Queue; get plainName(): string; get className(): string; get fullPlainName(): string; get queryChildsNearly(): Query; get queryChilds(): Query; get queryParentsNearly(): Query; get queryParents(): Query; add(obj: Current | Current[] | string | string[]): this; remove(obj: Current | Current[] | string | string[]): this; execute(manager: Manager): Promise; }