import { ILockEntity, IDatahubVariantInformation } from './models';
import { ITenantAttribute } from '../../../services/api/DataHub/Attributes';
import { ITenantAttributeScope } from '../../../services/api/DataHub/Scopes';
import { ITenantAttributeLanguage } from '../../../services/api/DataHub/Languages';

export declare const prepareUpdates: (entity: object, changedFields: Set<string>, extraFields?: string[]) => {
    [k: string]: any;
};
export declare const wsLockEntitySubscriber: <T>(callback: (update: Partial<T>) => void) => {
    domain: import('../../../../_common').MessageDomain;
    type: import('../../../../_common').MessageType;
    callback: (evt: import('../../../../_common').Message<import('../../../../_common').WebsocketMessagePayload<ILockEntity>>) => void;
};
export declare const getFieldName: (key: string, prefix?: string) => string;
export declare const getAllFieldNamesForAttribute: (attribute: ITenantAttribute, allScopes: ITenantAttributeScope[], allLanguages: ITenantAttributeLanguage[], prefix?: string) => string[];
export declare const isChangeable: (attribute: ITenantAttribute, variantInformation?: IDatahubVariantInformation) => number;
