import { CloudElement } from "./CloudData"; import { MyoCloud } from "./MyoCloud"; export interface StrategyOverride { strategy: "override"; } export interface StrategyAddRevision { strategy: "addRevision"; maxRevisions: number; } export interface StrategyMerge { strategy: "merge"; merge>(latestObject: T): Promise; } export interface StrategyError { strategy: "error"; } export declare type CloudMergeStrategy = StrategyOverride | StrategyAddRevision | StrategyMerge | StrategyError; export declare class CloudObjectError extends Error { } export declare class CloudObjectFormatError extends CloudObjectError { } export declare class CloudObjectNotLoaded extends CloudObjectError { } export declare class CloudObject { protected params: { labels: Record; } & CloudMergeStrategy; private _data?; private _sharedBox?; private _element?; private _signedRecord?; private _service?; constructor(params?: { labels: Record; } & CloudMergeStrategy); loadFrom(element: CloudElement, service: MyoCloud): Promise>; get loaded(): boolean; get data(): T; }