import { Coordinate } from 'ol/coordinate';
import { SerializedFeature } from '../../components/drawing/drawingFeature';
export type SharedLayer = {
    i: number;
    o: number;
    c: number;
    e: number;
    t: string | undefined;
    z: SharedLayer[];
    /**
     * The following attribute will be useful to know which children were explicitly deleted from the view.
     * Without this, we are not able to know if the layer is new in the server configuration
     * And should forcefully be added to the layer tree because the user just didn't know this layer when he has created this shared state
     * Or if it was explicitly removed from the user, and then we won't have to display it again
     */
    x: number[];
};
export type SharedState = {
    p: {
        c: Coordinate;
        r: number;
    };
    m: {
        p: string;
    };
    t: {
        a: number;
    };
    g: {
        d: '2D' | '3D' | '2D/3D';
    };
    b?: {
        i: number;
    };
    l: SharedLayer[];
    f?: SerializedFeature[];
};
