/// import { GroupMember } from "./GroupMember"; import { Group } from "./Group"; import { RecordProperty } from "./RecordProperty"; import { Import } from "./Import"; import { Export } from "./Export"; import { RecordConfigurationObject } from "../classes/codeConfig"; import { Source } from "./Source"; import { GrouparooModel } from "./GrouparooModel"; import { CommonModel } from "../classes/commonModel"; declare const STATES: readonly ["draft", "pending", "ready", "deleted"]; export declare class GrouparooRecord extends CommonModel { idPrefix(): string; state: typeof STATES[number]; invalid: boolean; modelId: string; recordProperties: RecordProperty[]; groupMembers: GroupMember[]; groups: Group[]; model: GrouparooModel; imports: Import[]; exports: Export[]; apiData(): Promise<{ id: string; state: "pending" | "ready" | "draft" | "deleted"; modelId: string; modelName: string; groupIds: string[]; invalid: boolean; properties: import("../modules/ops/record").RecordPropertyType; createdAt: number; updatedAt: number; }>; getProperties(): Promise; simplifiedProperties(): Promise<{ [key: string]: (string | number | boolean | Date)[]; }>; addOrUpdateProperties(properties: { [key: string]: (string | number | boolean | Date)[]; }, toLock?: boolean, ignoreMissingProperties?: boolean): Promise; removeProperty(key: string): Promise; removeProperties(properties: string[]): Promise; buildNullProperties(state?: RecordProperty["state"]): Promise; markPending(): Promise; sync(force?: boolean, toExport?: boolean): Promise; snapshot(saveExports?: boolean): Promise<{ properties: import("../modules/ops/record").RecordPropertyType; groups: { id: string; name: string; modelId: string; modelName: string; rules: import("./Group").GroupRuleWithKey[]; matchType: "all" | "any"; state: "ready" | "draft" | "deleted" | "initializing" | "updating"; locked: string; recordsCount: number; createdAt: number; updatedAt: number; nextCalculatedAt: number; calculatedAt: number; }[]; exports: { id: string; destination: { id: string; state: "ready" | "draft" | "deleted"; name: string; groupId: string; modelId: string; }; destinationName: string; recordId: string; modelId: string; exportProcessorId: string; state: "failed" | "canceled" | "complete" | "pending" | "draft" | "processing"; force: boolean; createdAt: number; sendAt: number; startedAt: number; completedAt: number; retryCount: number; oldRecordProperties: import("./Export").ExportRecordProperties; newRecordProperties: import("./Export").ExportRecordProperties; oldGroups: string[]; newGroups: string[]; toDelete: boolean; hasChanges: boolean; errorMessage: string; errorLevel: "error" | "info"; }[]; }>; updateGroupMembership(): Promise<{ [groupId: string]: boolean; }>; import(toSave?: boolean, toLock?: boolean): Promise; export(force?: boolean, additionalGroups?: Group[], saveExports?: boolean, sync?: boolean, toDelete?: boolean): Promise; validateRecordPropertiesAreReady(): Promise; getConfigObject(): Promise; static findOrCreateByUniqueRecordProperties(hash: { [key: string]: (string | number | boolean | Date)[]; }, source?: boolean | Source): Promise<{ referenceId: string; record: GrouparooRecord; isNew: boolean; error: NodeJS.ErrnoException; hash: Record; uniquePropertiesHash: Record; }>; static ensureModel(instance: GrouparooRecord): Promise; static updateState(instance: GrouparooRecord): Promise; static buildNullPropertiesForNewRecord(instance: GrouparooRecord): Promise; static destroyRecordProperties(instance: GrouparooRecord): Promise; static destroyGroupMembers(instance: GrouparooRecord): Promise; static destroyImports(instance: GrouparooRecord): Promise; } export {};