import { OverlayColorEnums } from "../Entities/OverlayColor";
import { SerializedSystem } from "../../StateMachine/Entities/StateMachineEntity";
import { AppObjectUC, AppObject } from "@vived/core";
export declare abstract class SerializeOverlayColoredObjects extends AppObjectUC implements SerializedSystem {
    static readonly type = "SerializeOverlayColoredObjects";
    name: string;
    abstract seriliziationVersion: number;
    abstract getSystemState(): object;
    abstract applySystemState(state: object, version: number, transitionDuration: number): void;
    abstract applyDefaultState(transitionDuration: number): void;
}
export declare function makeSerializeOverlayColoredObjects(appObject: AppObject): SerializeOverlayColoredObjects;
export declare class SerializeOverlayColoredObjectsImp extends SerializeOverlayColoredObjects {
    seriliziationVersion: number;
    getSystemState(): object;
    applySystemState(state: object, version: number, durationS: number): Promise<void> | void;
    private applyStateV1;
    applyDefaultState(): void;
    constructor(appObj: AppObject);
}
export interface SerializedOverlayColoredObjectV1 {
    id: string;
    overlayColor: OverlayColorEnums;
}
export interface SerializedOverlayColoredObjectsV1 {
    overlayColoredObjects: SerializedOverlayColoredObjectV1[];
}
//# sourceMappingURL=SerializeOverlayColoredObjects.d.ts.map