import { AccessLevel, IAccessRecord } from "./access"; import { IAttribute } from "./attribute"; import { IFileSnapshot } from "./files-snapshot"; import { IPerson } from "./person"; import { IRelation } from "./relation"; export declare enum RelationType { SourceFiles = 1, TaskInitiatorAttachments = 2, TaskExecutorAttachments = 3, MessageAttachments = 4, Custom = 5, TaskAttachments = 6 } export declare enum ObjectState { Alive = 0, InRecycleBin = 1, DeletedPermanently = 2, Frozen = 3, LockRequested = 4, LockAccepted = 5 } export interface IDataObject { get id(): string; get parentId(): string; get title(): string; get type(): IType; get attributes(): { [key: string]: any; }; get children(): IChild[]; get creator(): IPerson; get modifiedBy(): IPerson; get created(): string; get modifiedDate(): string; get actualFileSnapshot(): IFileSnapshot; get previousFileSnapshots(): IFileSnapshot[]; get context(): string[]; get relations(): IRelation[]; get access(): IAccessRecord[]; get accessLevel(): AccessLevel; get allowedSubtypes(): number[]; get stateInfo(): IStateInfo; get secretInfo(): ISecretInfo; get historyItems(): string[]; get subscribers(): number[]; } export interface IType { get id(): number; get title(): string; get name(): string; get icon(): string; get sort(): number; get hasFiles(): boolean; get children(): number[]; get attributes(): IAttribute[]; get isDeleted(): boolean; get kind(): number; get isMountable(): boolean; get isService(): boolean; get isProject(): boolean; get configuration(): string; } export interface IChild { get objectId(): string; get typeId(): number; } export interface ISecretInfo { get isSecret(): boolean; get secretParentId(): string; get secretChangedBy(): number; } export interface IStateInfo { get state(): ObjectState; get date(): string; get personId(): number; get positionId(): number; }