import { AppObject, AppObjectUC } from "@vived/core";
import { SerializedSystem } from "../../StateMachine/Entities/StateMachineEntity";
export declare abstract class SerializeSceneRoot extends AppObjectUC implements SerializedSystem {
    static readonly type = "SerializeSceneRoot";
    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 makeSerializeSceneRoot(appObject: AppObject): SerializeSceneRoot;
export interface SceneRootDataV1 {
    position: [number, number, number];
    rotation: [number, number, number, number];
    scale: [number, number, number];
}
export interface SceneRootDataV2 {
    position: {
        x: number;
        y: number;
        z: number;
    };
    rotation: {
        x: number;
        y: number;
        z: number;
        w: number;
    };
    scale: number;
}
//# sourceMappingURL=SerializeSceneRoot.d.ts.map