import { DatabaseFeature } from '../../stores/gisStore'; import { Element } from '../element'; import { GisElement } from '../gisElement'; import { Mixin } from './isLocal'; type GConstructor = new (...args: any[]) => T; export declare const hasConnectedFeatures: (Base: TBase) => { new (...args: any[]): { relatedGis: Record; mapNotes: Element[]; loadConnectedFeatures(): Promise; loadMapNotes(): Promise; childrenData: import("../../interfaces").ElementData[]; originalData?: import("../../interfaces").ElementData; data?: import("../../interfaces").ElementData; dataHash?: string; children: Element[]; childrenCount?: number; workRecords: Map; workRecordsCount?: number; effects: Record>; relationElements: { [attribute: string]: Element[]; }; references: { [attribute: string]: Element[]; }; interalListingHashes: string[]; predecessors?: Element[]; predecessorsCount?: number; hash: string; store: import("../../stores").MainStore; completeData: boolean; loading: boolean; loadingPromise: Promise | undefined; errored?: Error; dirty: boolean; source: import("../../interfaces").DataSource; parent?: Element; autoSave: boolean; saveHandler: () => void; onChangeDataHash: () => void; listeners: (() => void)[]; changeListenerRef?: () => void; getChangeListenerTopic(): string | undefined; registerChangeListener(): () => void; destructor(): void; getPrefilledAttributes(): Record; readonly mapLabel: string | null; readonly markerConfig: import("../../interfaces").MarkerConfig; readonly elementName: string; readonly organization: string | undefined; readonly sortValue: string; readonly type: string | undefined; readonly displayType: string; addInteralListingHash(hash: string): void; initialize(): Promise; readonly privileges: import("../../services").ElementPrivileges | undefined; getEditableAttributes(): string[]; extendElementData(data?: Partial, onlyAcceptNewerTimestamp?: boolean): void; setAttributes(values: import("../../interfaces").ElementFormData): Record; getAttributeFile(attribute: string): import("../../interfaces").AttributeFileData | undefined; getAttributeFirstFileUri(attribute: string, size?: import("../../interfaces").eDocuImageSize): string | undefined; getAttributeElementValue(attribute: string, onlyModel?: new (...params: unknown[]) => T): T[] | undefined; getAttributeTextValue(attribute: string): string; loadRaw(force?: boolean): Promise | undefined>; loadElementQuery(queryParams: import("../../services").ElementGetQueryParams): Promise; loadData(force?: boolean, queryParams?: import("../../services").ElementGetQueryParams): Promise | undefined>; setResponseScopeData(response?: import("../../interfaces").GetElementV1Response | import("../../interfaces").GetElementV2Response): void; loadAttributes(attributes: string[]): Promise; createWorkRecord(data: import("../../interfaces").WorkRecordData): Promise; createCountingWorkRecord(data: import("../../interfaces").WorkRecordData): Promise; instantiateReferences(references: { [attribute: string]: import("../../interfaces").ElementData[]; }): Record; loadRelation(relation: string): Promise; togglePublishAttributes(publish: boolean): Promise; updateDataHash(): void; getLocalFiles(modified: import("../../interfaces").DehydratedElementData): { files: import("../../interfaces").PreparedFiles[]; fileAttributes: string[]; }; autoUpdate(): false | Promise | undefined; update(data?: import("../../interfaces").ElementFormData): Promise; uploadFiles(files: import("../../interfaces").PreparedFiles[]): Promise<{ ok: boolean; files: import("../../interfaces").PreparedFiles[]; error?: Error; } | void>; dispose(): void; performFileAction(action: "archived" | "relevant" | "public", attribute: string, fileHash: string): Promise; archive(): Promise; unarchive(): Promise; readonly elementSchemaId: import("../../interfaces").SchemaId | undefined; readonly template: import("../../interfaces").ElementTemplateV1 | import("../../interfaces").Template | undefined; getAttributeType(attributeKey: string): import("../../interfaces").AttributeType | undefined; isAttributeMultiple(attributeKey: string): boolean; readonly typeData: import("../../interfaces").AttributeDefinitions | import("../../interfaces").ElementSchema | undefined; getAttributeDefinition(attribute: string): import("../../interfaces").AttributeDefinition | undefined; attributeExists(attribute: string): boolean; setAttributeValue(attribute: string, value: import("../../interfaces").AttributeValue | import("../../interfaces").AttributeFileData | undefined, isPublic?: boolean): boolean; getAttributeRawValue(attribute: string): import("../../interfaces").AttributeValue | undefined; getAttributeValue(attribute: string): import("../../interfaces").AttributeValue | import("../../interfaces").AttributeFileData | undefined; hydrateRelationElements(): void; performUpdate(modified: import("../../interfaces").ElementAttributeData, original: import("../../interfaces").ElementAttributeData): Promise; getEffects(attribute: string): import("../../interfaces").AttributeModifier["effects"]; computeEffects(template: import("../../interfaces").Template): void; getEvaluatedEffects(template?: import("../../interfaces").Template): Record; }; } & TBase; export type ConnectedFeaturesElement = Mixin; export declare const instanceOfConnectedFeatures: (object: any) => object is ConnectedFeaturesElement; export {};