import { z, ZodError } from 'zod';
import { F as FeltController, cu as UnwrapPromise, z as zInfer, a as Basemap, i as ElementChangeCallbackParams, l as ElementGroupChangeCallbackParams, E as Element, W as MapInteractionEvent, ax as FilterTernary, a6 as LayerChangeCallbackParams, a9 as LayerGroupChangeCallbackParams, ad as LegendItemChangeCallbackParams, aB as LayerFilters, aA as LayerBoundaries, aW as EntityNode, bv as ToolType, bt as ToolSettingsChangeEvent, cv as uiActionTriggerSchema, al as LayerFeature, cw as uiFeatureActionSchema, c0 as UIPanelElementCreate, cx as UIPanelElementCreateClonable, cy as uiPanelCreateSchema, cz as UIButtonElementCreateClonable, cA as MakeClonableSchema, bN as UITextElementCreate, bT as UIDividerElementCreate, bW as UITextInputElementCreate, bZ as UISelectElementCreate, bQ as UIFlexibleSpaceElementCreate, cB as UIButtonRowElementCreateClonable, c9 as UICheckboxGroupElementCreate, cc as UIRadioGroupElementCreate, cf as UIToggleGroupElementCreate, ci as UIIframeElementCreate, cs as ViewportState, cC as PromiseOrNot, cD as UnionToIntersection } from './controller-DXsOpGmy.cjs';

type FeltControllerFunctions = Omit<FeltController, "iframe">;
type Method<TRequest extends {
    type: keyof FeltControllerFunctions;
    params?: any;
}, TResponse = UnwrapPromise<ReturnType<FeltControllerFunctions[TRequest["type"]]>>> = {
    request: TRequest;
    response: TResponse;
};
type Listener<TOptions, TParams> = {
    options: TOptions;
    eventParams: TParams;
};
type ListenerNoOptions<TParams> = {
    eventParams: TParams;
};

declare const GetCurrentBasemapMessage: z.ZodObject<{
    type: z.ZodLiteral<"getCurrentBasemap">;
    params: z.ZodVoid;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getCurrentBasemap";
    params?: void | undefined;
}, {
    type: "getCurrentBasemap";
    params?: void | undefined;
}>;
declare const GetBasemapsMessage: z.ZodObject<{
    type: z.ZodLiteral<"getBasemaps">;
    params: z.ZodVoid;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getBasemaps";
    params?: void | undefined;
}, {
    type: "getBasemaps";
    params?: void | undefined;
}>;
declare const ChooseBasemapMessage: z.ZodObject<{
    type: z.ZodLiteral<"chooseBasemap">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "chooseBasemap";
}, {
    params: string;
    type: "chooseBasemap";
}>;
declare const RemoveBasemapMessage: z.ZodObject<{
    type: z.ZodLiteral<"removeBasemap">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "removeBasemap";
}, {
    params: string;
    type: "removeBasemap";
}>;
declare const AddBasemapMessage: z.ZodObject<{
    type: z.ZodLiteral<"addCustomBasemap">;
    params: z.ZodObject<{
        basemap: z.ZodDiscriminatedUnion<"type", [z.ZodObject<Omit<z.objectUtil.extendShape<{
            id: z.ZodString;
            name: z.ZodString;
            uiColorScheme: z.ZodEnum<["light", "dark"]>;
            attribution: z.ZodOptional<z.ZodString>;
        }, {
            type: z.ZodLiteral<"color">;
            color: z.ZodString;
        }>, "id" | "uiColorScheme">, "strip", z.ZodTypeAny, {
            type: "color";
            color: string;
            name: string;
            attribution?: string | undefined;
        }, {
            type: "color";
            color: string;
            name: string;
            attribution?: string | undefined;
        }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
            id: z.ZodString;
            name: z.ZodString;
            uiColorScheme: z.ZodEnum<["light", "dark"]>;
            attribution: z.ZodOptional<z.ZodString>;
        }, {
            type: z.ZodLiteral<"xyz_tile">;
            tileUrl: z.ZodString;
        }>, "id">, "strip", z.ZodTypeAny, {
            type: "xyz_tile";
            name: string;
            uiColorScheme: "light" | "dark";
            tileUrl: string;
            attribution?: string | undefined;
        }, {
            type: "xyz_tile";
            name: string;
            uiColorScheme: "light" | "dark";
            tileUrl: string;
            attribution?: string | undefined;
        }>]>;
        select: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        basemap: {
            type: "color";
            color: string;
            name: string;
            attribution?: string | undefined;
        } | {
            type: "xyz_tile";
            name: string;
            uiColorScheme: "light" | "dark";
            tileUrl: string;
            attribution?: string | undefined;
        };
        select?: boolean | undefined;
    }, {
        basemap: {
            type: "color";
            color: string;
            name: string;
            attribution?: string | undefined;
        } | {
            type: "xyz_tile";
            name: string;
            uiColorScheme: "light" | "dark";
            tileUrl: string;
            attribution?: string | undefined;
        };
        select?: boolean | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        basemap: {
            type: "color";
            color: string;
            name: string;
            attribution?: string | undefined;
        } | {
            type: "xyz_tile";
            name: string;
            uiColorScheme: "light" | "dark";
            tileUrl: string;
            attribution?: string | undefined;
        };
        select?: boolean | undefined;
    };
    type: "addCustomBasemap";
}, {
    params: {
        basemap: {
            type: "color";
            color: string;
            name: string;
            attribution?: string | undefined;
        } | {
            type: "xyz_tile";
            name: string;
            uiColorScheme: "light" | "dark";
            tileUrl: string;
            attribution?: string | undefined;
        };
        select?: boolean | undefined;
    };
    type: "addCustomBasemap";
}>;
type BasemapsSchema = {
    methods: {
        getCurrentBasemap: Method<zInfer<typeof GetCurrentBasemapMessage>, Basemap>;
        getBasemaps: Method<zInfer<typeof GetBasemapsMessage>, Basemap[]>;
        chooseBasemap: Method<zInfer<typeof ChooseBasemapMessage>>;
        addCustomBasemap: Method<zInfer<typeof AddBasemapMessage>>;
        removeBasemap: Method<zInfer<typeof RemoveBasemapMessage>>;
    };
    listeners: {
        onBasemapChange: ListenerNoOptions<Basemap>;
    };
};

declare const GetElementMessage: z.ZodObject<{
    type: z.ZodLiteral<"getElement">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "getElement";
}, {
    params: string;
    type: "getElement";
}>;
declare const GetElementGeometryMessage: z.ZodObject<{
    type: z.ZodLiteral<"getElementGeometry">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "getElementGeometry";
}, {
    params: string;
    type: "getElementGeometry";
}>;
declare const GetElementsMessage: z.ZodObject<{
    type: z.ZodLiteral<"getElements">;
    params: z.ZodOptional<z.ZodObject<{
        ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        ids?: string[] | undefined;
    }, {
        ids?: string[] | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getElements";
    params?: {
        ids?: string[] | undefined;
    } | undefined;
}, {
    type: "getElements";
    params?: {
        ids?: string[] | undefined;
    } | undefined;
}>;
declare const GetGroupMessage$1: z.ZodObject<{
    type: z.ZodLiteral<"getElementGroup">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "getElementGroup";
}, {
    params: string;
    type: "getElementGroup";
}>;
declare const GetGroupsMessage$1: z.ZodObject<{
    type: z.ZodLiteral<"getElementGroups">;
    params: z.ZodOptional<z.ZodObject<{
        ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        ids?: string[] | undefined;
    }, {
        ids?: string[] | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getElementGroups";
    params?: {
        ids?: string[] | undefined;
    } | undefined;
}, {
    type: "getElementGroups";
    params?: {
        ids?: string[] | undefined;
    } | undefined;
}>;
declare const SetElementGroupVisibilityMessage: z.ZodObject<{
    type: z.ZodLiteral<"setElementGroupVisibility">;
    params: z.ZodObject<{
        show: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hide: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setElementGroupVisibility";
}, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setElementGroupVisibility";
}>;
declare const OnElementChangeMessage: z.ZodObject<{
    eventName: z.ZodLiteral<"onElementChange">;
    id: z.ZodString;
    options: z.ZodObject<{
        id: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
    }, {
        id: string;
    }>;
}, "strict", z.ZodTypeAny, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onElementChange";
}, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onElementChange";
}>;
declare const OnElementDeleteMessage: z.ZodObject<{
    eventName: z.ZodLiteral<"onElementDelete">;
    id: z.ZodString;
    options: z.ZodObject<{
        id: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
    }, {
        id: string;
    }>;
}, "strict", z.ZodTypeAny, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onElementDelete";
}, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onElementDelete";
}>;
declare const OnElementGroupChangeMessage: z.ZodObject<{
    eventName: z.ZodLiteral<"onElementGroupChange">;
    id: z.ZodString;
    options: z.ZodObject<{
        id: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
    }, {
        id: string;
    }>;
}, "strict", z.ZodTypeAny, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onElementGroupChange";
}, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onElementGroupChange";
}>;
declare const CreateElementMessage: z.ZodObject<{
    type: z.ZodLiteral<"createElement">;
    params: z.ZodDiscriminatedUnion<"type", [z.ZodObject<Omit<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        type: z.ZodOptional<z.ZodLiteral<"Place">>;
        coordinates: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
        symbol: z.ZodOptional<z.ZodString>;
        frame: z.ZodOptional<z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>>;
        hideLabel: z.ZodOptional<z.ZodBoolean>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        imageUrl: z.ZodNullable<z.ZodString>;
    }>, {
        type: z.ZodLiteral<"Place">;
        coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
        symbol: z.ZodString;
        frame: z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>;
        hideLabel: z.ZodBoolean;
    }>, "type" | "coordinates">>, "id">, "strip", z.ZodTypeAny, {
        type: "Place";
        coordinates: [number, number];
        symbol?: string | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        hideLabel?: boolean | undefined;
    }, {
        type: "Place";
        coordinates: [number, number];
        symbol?: string | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        hideLabel?: boolean | undefined;
    }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        type: z.ZodOptional<z.ZodLiteral<"Path">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
        distanceMarker: z.ZodOptional<z.ZodBoolean>;
        routingMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>>;
        endCaps: z.ZodOptional<z.ZodBoolean>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        imageUrl: z.ZodNullable<z.ZodString>;
    }>, {
        strokeOpacity: z.ZodNumber;
        strokeWidth: z.ZodNumber;
        strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
    }>, {
        type: z.ZodLiteral<"Path">;
        coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
        distanceMarker: z.ZodBoolean;
        routingMode: z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>;
        endCaps: z.ZodBoolean;
    }>, "type" | "coordinates">>, "id">, "strip", z.ZodTypeAny, {
        type: "Path";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
    }, {
        type: "Path";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
    }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        type: z.ZodOptional<z.ZodLiteral<"Polygon">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">>;
        fillOpacity: z.ZodOptional<z.ZodNumber>;
        areaMarker: z.ZodOptional<z.ZodBoolean>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        imageUrl: z.ZodNullable<z.ZodString>;
    }>, {
        strokeOpacity: z.ZodNumber;
        strokeWidth: z.ZodNumber;
        strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
    }>, {
        type: z.ZodLiteral<"Polygon">;
        coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
        fillOpacity: z.ZodNumber;
        areaMarker: z.ZodBoolean;
    }>, "type" | "coordinates">>, "id">, "strip", z.ZodTypeAny, {
        type: "Polygon";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
    }, {
        type: "Polygon";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
    }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        type: z.ZodOptional<z.ZodLiteral<"Circle">>;
        center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
        radius: z.ZodOptional<z.ZodNumber>;
        radiusMarker: z.ZodOptional<z.ZodBoolean>;
        radiusDisplayAngle: z.ZodOptional<z.ZodNumber>;
        radiusDisplayUnit: z.ZodOptional<z.ZodNullable<z.ZodEnum<["meter", "kilometer", "foot", "mile"]>>>;
        fillOpacity: z.ZodOptional<z.ZodNumber>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        imageUrl: z.ZodNullable<z.ZodString>;
    }>, {
        strokeOpacity: z.ZodNumber;
        strokeWidth: z.ZodNumber;
        strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
    }>, {
        type: z.ZodLiteral<"Circle">;
        center: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
        radius: z.ZodNumber;
        radiusMarker: z.ZodBoolean;
        radiusDisplayAngle: z.ZodNumber;
        radiusDisplayUnit: z.ZodNullable<z.ZodEnum<["meter", "kilometer", "foot", "mile"]>>;
        fillOpacity: z.ZodNumber;
    }>, "type" | "center" | "radius">>, "id">, "strip", z.ZodTypeAny, {
        type: "Circle";
        center: [number, number];
        radius: number;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        radiusMarker?: boolean | undefined;
        radiusDisplayAngle?: number | undefined;
        radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
    }, {
        type: "Circle";
        center: [number, number];
        radius: number;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        radiusMarker?: boolean | undefined;
        radiusDisplayAngle?: number | undefined;
        radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
    }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        type: z.ZodOptional<z.ZodLiteral<"Marker">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
        opacity: z.ZodOptional<z.ZodNumber>;
        size: z.ZodOptional<z.ZodNumber>;
        zoom: z.ZodOptional<z.ZodNumber>;
    }, Pick<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        type: z.ZodLiteral<"Marker">;
        coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
        opacity: z.ZodNumber;
        size: z.ZodNumber;
        zoom: z.ZodNumber;
    }>, "type" | "coordinates">>, "id">, "strip", z.ZodTypeAny, {
        type: "Marker";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        zoom?: number | undefined;
    }, {
        type: "Marker";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        zoom?: number | undefined;
    }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        type: z.ZodOptional<z.ZodLiteral<"Highlighter">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">>;
        renderHoles: z.ZodOptional<z.ZodBoolean>;
        opacity: z.ZodOptional<z.ZodNumber>;
    }, Pick<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        type: z.ZodLiteral<"Highlighter">;
        coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
        renderHoles: z.ZodBoolean;
        opacity: z.ZodNumber;
    }>, "type" | "coordinates">>, "id">, "strip", z.ZodTypeAny, {
        type: "Highlighter";
        coordinates: [number, number][][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        renderHoles?: boolean | undefined;
    }, {
        type: "Highlighter";
        coordinates: [number, number][][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        renderHoles?: boolean | undefined;
    }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
        type: z.ZodOptional<z.ZodLiteral<"Image">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodString>;
        opacity: z.ZodOptional<z.ZodNumber>;
    }, Pick<Omit<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        type: z.ZodLiteral<"Image">;
        coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
        imageUrl: z.ZodString;
        opacity: z.ZodNumber;
    }>, "color">, "type" | "coordinates" | "imageUrl">>, "id">, "strip", z.ZodTypeAny, {
        type: "Image";
        coordinates: [number, number][][];
        imageUrl: string;
        groupId?: string | null | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
    }, {
        type: "Image";
        coordinates: [number, number][][];
        imageUrl: string;
        groupId?: string | null | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<Omit<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
        rotation: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
        zoom: z.ZodOptional<z.ZodNumber>;
        text: z.ZodOptional<z.ZodString>;
        align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
        style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodLiteral<"Text">>;
    }, "type" | "id" | "name">, {
        type: z.ZodLiteral<"Text">;
        text: z.ZodString;
    }>, "strip", z.ZodTypeAny, {
        type: "Text";
        text: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
    }, {
        type: "Text";
        text: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<Omit<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
        rotation: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
        zoom: z.ZodOptional<z.ZodNumber>;
        text: z.ZodOptional<z.ZodString>;
        align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
        style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodLiteral<"Note">>;
        widthScale: z.ZodOptional<z.ZodNumber>;
    }, "type" | "id" | "name">, {
        type: z.ZodLiteral<"Note">;
        text: z.ZodString;
    }>, "strip", z.ZodTypeAny, {
        type: "Note";
        text: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        widthScale?: number | undefined;
    }, {
        type: "Note";
        text: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        widthScale?: number | undefined;
    }>]>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        type: "Place";
        coordinates: [number, number];
        symbol?: string | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        hideLabel?: boolean | undefined;
    } | {
        type: "Path";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
    } | {
        type: "Polygon";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
    } | {
        type: "Circle";
        center: [number, number];
        radius: number;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        radiusMarker?: boolean | undefined;
        radiusDisplayAngle?: number | undefined;
        radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
    } | {
        type: "Marker";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        zoom?: number | undefined;
    } | {
        type: "Highlighter";
        coordinates: [number, number][][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        renderHoles?: boolean | undefined;
    } | {
        type: "Text";
        text: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
    } | {
        type: "Note";
        text: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        widthScale?: number | undefined;
    } | {
        type: "Image";
        coordinates: [number, number][][];
        imageUrl: string;
        groupId?: string | null | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
    };
    type: "createElement";
}, {
    params: {
        type: "Place";
        coordinates: [number, number];
        symbol?: string | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        hideLabel?: boolean | undefined;
    } | {
        type: "Path";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
    } | {
        type: "Polygon";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
    } | {
        type: "Circle";
        center: [number, number];
        radius: number;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        radiusMarker?: boolean | undefined;
        radiusDisplayAngle?: number | undefined;
        radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
    } | {
        type: "Marker";
        coordinates: [number, number][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        zoom?: number | undefined;
    } | {
        type: "Highlighter";
        coordinates: [number, number][][][];
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        renderHoles?: boolean | undefined;
    } | {
        type: "Text";
        text: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
    } | {
        type: "Note";
        text: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        widthScale?: number | undefined;
    } | {
        type: "Image";
        coordinates: [number, number][][];
        imageUrl: string;
        groupId?: string | null | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
    };
    type: "createElement";
}>;
declare const UpdateElementMessage: z.ZodObject<{
    type: z.ZodLiteral<"updateElement">;
    params: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        type: z.ZodOptional<z.ZodLiteral<"Place">>;
        coordinates: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
        symbol: z.ZodOptional<z.ZodString>;
        frame: z.ZodOptional<z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>>;
        hideLabel: z.ZodOptional<z.ZodBoolean>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        imageUrl: z.ZodNullable<z.ZodString>;
    }>, {
        type: z.ZodLiteral<"Place">;
        coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
        symbol: z.ZodString;
        frame: z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>;
        hideLabel: z.ZodBoolean;
    }>, "type" | "id">>, "strip", z.ZodTypeAny, {
        type: "Place";
        id: string;
        symbol?: string | undefined;
        coordinates?: [number, number] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        hideLabel?: boolean | undefined;
    }, {
        type: "Place";
        id: string;
        symbol?: string | undefined;
        coordinates?: [number, number] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        hideLabel?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        type: z.ZodOptional<z.ZodLiteral<"Path">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
        distanceMarker: z.ZodOptional<z.ZodBoolean>;
        routingMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>>;
        endCaps: z.ZodOptional<z.ZodBoolean>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        imageUrl: z.ZodNullable<z.ZodString>;
    }>, {
        strokeOpacity: z.ZodNumber;
        strokeWidth: z.ZodNumber;
        strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
    }>, {
        type: z.ZodLiteral<"Path">;
        coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
        distanceMarker: z.ZodBoolean;
        routingMode: z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>;
        endCaps: z.ZodBoolean;
    }>, "type" | "id">>, "strip", z.ZodTypeAny, {
        type: "Path";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
    }, {
        type: "Path";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        type: z.ZodOptional<z.ZodLiteral<"Polygon">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">>;
        fillOpacity: z.ZodOptional<z.ZodNumber>;
        areaMarker: z.ZodOptional<z.ZodBoolean>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        imageUrl: z.ZodNullable<z.ZodString>;
    }>, {
        strokeOpacity: z.ZodNumber;
        strokeWidth: z.ZodNumber;
        strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
    }>, {
        type: z.ZodLiteral<"Polygon">;
        coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
        fillOpacity: z.ZodNumber;
        areaMarker: z.ZodBoolean;
    }>, "type" | "id">>, "strip", z.ZodTypeAny, {
        type: "Polygon";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
    }, {
        type: "Polygon";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        type: z.ZodOptional<z.ZodLiteral<"Circle">>;
        center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
        radius: z.ZodOptional<z.ZodNumber>;
        radiusMarker: z.ZodOptional<z.ZodBoolean>;
        radiusDisplayAngle: z.ZodOptional<z.ZodNumber>;
        radiusDisplayUnit: z.ZodOptional<z.ZodNullable<z.ZodEnum<["meter", "kilometer", "foot", "mile"]>>>;
        fillOpacity: z.ZodOptional<z.ZodNumber>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        imageUrl: z.ZodNullable<z.ZodString>;
    }>, {
        strokeOpacity: z.ZodNumber;
        strokeWidth: z.ZodNumber;
        strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
    }>, {
        type: z.ZodLiteral<"Circle">;
        center: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
        radius: z.ZodNumber;
        radiusMarker: z.ZodBoolean;
        radiusDisplayAngle: z.ZodNumber;
        radiusDisplayUnit: z.ZodNullable<z.ZodEnum<["meter", "kilometer", "foot", "mile"]>>;
        fillOpacity: z.ZodNumber;
    }>, "type" | "id">>, "strip", z.ZodTypeAny, {
        type: "Circle";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        center?: [number, number] | undefined;
        radius?: number | undefined;
        radiusMarker?: boolean | undefined;
        radiusDisplayAngle?: number | undefined;
        radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
    }, {
        type: "Circle";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        center?: [number, number] | undefined;
        radius?: number | undefined;
        radiusMarker?: boolean | undefined;
        radiusDisplayAngle?: number | undefined;
        radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        type: z.ZodOptional<z.ZodLiteral<"Marker">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
        opacity: z.ZodOptional<z.ZodNumber>;
        size: z.ZodOptional<z.ZodNumber>;
        zoom: z.ZodOptional<z.ZodNumber>;
    }, Pick<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        type: z.ZodLiteral<"Marker">;
        coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
        opacity: z.ZodNumber;
        size: z.ZodNumber;
        zoom: z.ZodNumber;
    }>, "type" | "id">>, "strip", z.ZodTypeAny, {
        type: "Marker";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        zoom?: number | undefined;
    }, {
        type: "Marker";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        zoom?: number | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        type: z.ZodOptional<z.ZodLiteral<"Highlighter">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">>;
        renderHoles: z.ZodOptional<z.ZodBoolean>;
        opacity: z.ZodOptional<z.ZodNumber>;
    }, Pick<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        type: z.ZodLiteral<"Highlighter">;
        coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
        renderHoles: z.ZodBoolean;
        opacity: z.ZodNumber;
    }>, "type" | "id">>, "strip", z.ZodTypeAny, {
        type: "Highlighter";
        id: string;
        coordinates?: [number, number][][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        renderHoles?: boolean | undefined;
    }, {
        type: "Highlighter";
        id: string;
        coordinates?: [number, number][][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        renderHoles?: boolean | undefined;
    }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
        rotation: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
        zoom: z.ZodOptional<z.ZodNumber>;
        text: z.ZodOptional<z.ZodString>;
        align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
        style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodLiteral<"Text">>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
        rotation: z.ZodNumber;
        scale: z.ZodNumber;
        zoom: z.ZodNumber;
        text: z.ZodString;
        align: z.ZodEnum<["left", "center", "right"]>;
        style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
        name: z.ZodString;
    }>, {
        type: z.ZodLiteral<"Text">;
    }>, "type" | "id">>, "name">, "strip", z.ZodTypeAny, {
        type: "Text";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        text?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
    }, {
        type: "Text";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        text?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
    }>, z.ZodObject<Omit<z.objectUtil.extendShape<{
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        color: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
        rotation: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
        zoom: z.ZodOptional<z.ZodNumber>;
        text: z.ZodOptional<z.ZodString>;
        align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
        style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodLiteral<"Note">>;
        widthScale: z.ZodOptional<z.ZodNumber>;
    }, Pick<z.objectUtil.extendShape<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
        rotation: z.ZodNumber;
        scale: z.ZodNumber;
        zoom: z.ZodNumber;
        text: z.ZodString;
        align: z.ZodEnum<["left", "center", "right"]>;
        style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
        name: z.ZodString;
    }>, {
        type: z.ZodLiteral<"Note">;
        widthScale: z.ZodNumber;
    }>, "type" | "id">>, "name">, "strip", z.ZodTypeAny, {
        type: "Note";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        text?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        widthScale?: number | undefined;
    }, {
        type: "Note";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        text?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        widthScale?: number | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        type: z.ZodOptional<z.ZodLiteral<"Image">>;
        coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
        id: z.ZodOptional<z.ZodString>;
        groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
        imageUrl: z.ZodOptional<z.ZodString>;
        opacity: z.ZodOptional<z.ZodNumber>;
    }, Pick<Omit<z.objectUtil.extendShape<{
        id: z.ZodString;
        groupId: z.ZodNullable<z.ZodString>;
        color: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
    }, {
        type: z.ZodLiteral<"Image">;
        coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
        imageUrl: z.ZodString;
        opacity: z.ZodNumber;
    }>, "color">, "type" | "id">>, "strip", z.ZodTypeAny, {
        type: "Image";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | undefined;
        opacity?: number | undefined;
    }, {
        type: "Image";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | undefined;
        opacity?: number | undefined;
    }>]>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        type: "Place";
        id: string;
        symbol?: string | undefined;
        coordinates?: [number, number] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        hideLabel?: boolean | undefined;
    } | {
        type: "Path";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
    } | {
        type: "Polygon";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
    } | {
        type: "Circle";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        center?: [number, number] | undefined;
        radius?: number | undefined;
        radiusMarker?: boolean | undefined;
        radiusDisplayAngle?: number | undefined;
        radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
    } | {
        type: "Marker";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        zoom?: number | undefined;
    } | {
        type: "Highlighter";
        id: string;
        coordinates?: [number, number][][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        renderHoles?: boolean | undefined;
    } | {
        type: "Text";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        text?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
    } | {
        type: "Note";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        text?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        widthScale?: number | undefined;
    } | {
        type: "Image";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | undefined;
        opacity?: number | undefined;
    };
    type: "updateElement";
}, {
    params: {
        type: "Place";
        id: string;
        symbol?: string | undefined;
        coordinates?: [number, number] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        hideLabel?: boolean | undefined;
    } | {
        type: "Path";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
    } | {
        type: "Polygon";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
    } | {
        type: "Circle";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | null | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        center?: [number, number] | undefined;
        radius?: number | undefined;
        radiusMarker?: boolean | undefined;
        radiusDisplayAngle?: number | undefined;
        radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
    } | {
        type: "Marker";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        zoom?: number | undefined;
    } | {
        type: "Highlighter";
        id: string;
        coordinates?: [number, number][][][] | undefined;
        groupId?: string | null | undefined;
        color?: string | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        opacity?: number | undefined;
        renderHoles?: boolean | undefined;
    } | {
        type: "Text";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        text?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
    } | {
        type: "Note";
        id: string;
        groupId?: string | null | undefined;
        color?: string | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        zoom?: number | undefined;
        position?: [number, number] | undefined;
        rotation?: number | undefined;
        scale?: number | undefined;
        text?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        widthScale?: number | undefined;
    } | {
        type: "Image";
        id: string;
        coordinates?: [number, number][][] | undefined;
        groupId?: string | null | undefined;
        name?: string | null | undefined;
        description?: string | null | undefined;
        attributes?: Record<string, unknown> | undefined;
        interaction?: "default" | "locked" | undefined;
        imageUrl?: string | undefined;
        opacity?: number | undefined;
    };
    type: "updateElement";
}>;
declare const DeleteElementMessage: z.ZodObject<{
    type: z.ZodLiteral<"deleteElement">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "deleteElement";
}, {
    params: string;
    type: "deleteElement";
}>;
type ElementsSchema = {
    methods: {
        getElement: Method<zInfer<typeof GetElementMessage>>;
        getElementGeometry: Method<zInfer<typeof GetElementGeometryMessage>>;
        getElements: Method<zInfer<typeof GetElementsMessage>>;
        getElementGroup: Method<zInfer<typeof GetGroupMessage$1>>;
        getElementGroups: Method<zInfer<typeof GetGroupsMessage$1>>;
        setElementGroupVisibility: Method<zInfer<typeof SetElementGroupVisibilityMessage>>;
        createElement: Method<zInfer<typeof CreateElementMessage>>;
        updateElement: Method<zInfer<typeof UpdateElementMessage>>;
        deleteElement: Method<zInfer<typeof DeleteElementMessage>>;
    };
    listeners: {
        onElementChange: Listener<zInfer<typeof OnElementChangeMessage.shape.options>, ElementChangeCallbackParams>;
        onElementGroupChange: Listener<zInfer<typeof OnElementGroupChangeMessage.shape.options>, ElementGroupChangeCallbackParams>;
        onElementCreate: ListenerNoOptions<ElementChangeCallbackParams>;
        onElementCreateEnd: ListenerNoOptions<{
            element: Element;
        }>;
        onElementDelete: Listener<zInfer<typeof OnElementDeleteMessage.shape.options>, void>;
    };
};

type InteractionsSchema = {
    methods: {};
    listeners: {
        onPointerClick: ListenerNoOptions<MapInteractionEvent>;
        onPointerMove: ListenerNoOptions<MapInteractionEvent>;
    };
};

declare const GetLayerMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLayer">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "getLayer";
}, {
    params: string;
    type: "getLayer";
}>;
declare const GetLayersMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLayers">;
    params: z.ZodOptional<z.ZodObject<{
        ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        ids?: string[] | undefined;
    }, {
        ids?: string[] | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getLayers";
    params?: {
        ids?: string[] | undefined;
    } | undefined;
}, {
    type: "getLayers";
    params?: {
        ids?: string[] | undefined;
    } | undefined;
}>;
declare const SetLayerVisibilityMessage: z.ZodObject<{
    type: z.ZodLiteral<"setLayerVisibility">;
    params: z.ZodObject<{
        show: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hide: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setLayerVisibility";
}, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setLayerVisibility";
}>;
declare const OnLayerChangeMessage: z.ZodObject<{
    eventName: z.ZodLiteral<"onLayerChange">;
    id: z.ZodString;
    options: z.ZodObject<{
        id: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
    }, {
        id: string;
    }>;
}, "strict", z.ZodTypeAny, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onLayerChange";
}, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onLayerChange";
}>;
declare const SetLayerStyleMessage: z.ZodObject<{
    type: z.ZodLiteral<"setLayerStyle">;
    params: z.ZodObject<{
        id: z.ZodString;
        style: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        style: {} & {
            [k: string]: unknown;
        };
    }, {
        id: string;
        style: {} & {
            [k: string]: unknown;
        };
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        id: string;
        style: {} & {
            [k: string]: unknown;
        };
    };
    type: "setLayerStyle";
}, {
    params: {
        id: string;
        style: {} & {
            [k: string]: unknown;
        };
    };
    type: "setLayerStyle";
}>;
declare const SetLayerLegendVisibilityMessage: z.ZodObject<{
    type: z.ZodLiteral<"setLayerLegendVisibility">;
    params: z.ZodObject<{
        show: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hide: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setLayerLegendVisibility";
}, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setLayerLegendVisibility";
}>;
declare const CreateLayersFromGeoJsonMessage: z.ZodObject<{
    type: z.ZodLiteral<"createLayersFromGeoJson">;
    params: z.ZodObject<{
        source: z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"geoJsonUrl">;
            url: z.ZodString;
            refreshInterval: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        }, {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"geoJsonData">;
            data: z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodType<ArrayBuffer, z.ZodTypeDef, ArrayBuffer>]>;
        }, "strip", z.ZodTypeAny, {
            type: "geoJsonData";
            data: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        }, {
            type: "geoJsonData";
            data: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"geoJsonFile">;
            file: z.ZodType<File, z.ZodTypeDef, File>;
        }, "strip", z.ZodTypeAny, {
            type: "geoJsonFile";
            file: File;
        }, {
            type: "geoJsonFile";
            file: File;
        }>]>;
        name: z.ZodString;
        bounds: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
        caption: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        geometryStyles: z.ZodOptional<z.ZodObject<{
            Point: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
            Line: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
            Polygon: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
        }, "strip", z.ZodTypeAny, {
            Point?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Polygon?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Line?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        }, {
            Point?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Polygon?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Line?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        source: {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        } | {
            type: "geoJsonData";
            data: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        } | {
            type: "geoJsonFile";
            file: File;
        };
        description?: string | undefined;
        bounds?: [number, number, number, number] | undefined;
        caption?: string | undefined;
        geometryStyles?: {
            Point?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Polygon?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Line?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        } | undefined;
    }, {
        name: string;
        source: {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        } | {
            type: "geoJsonData";
            data: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        } | {
            type: "geoJsonFile";
            file: File;
        };
        description?: string | undefined;
        bounds?: [number, number, number, number] | undefined;
        caption?: string | undefined;
        geometryStyles?: {
            Point?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Polygon?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Line?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        } | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        name: string;
        source: {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        } | {
            type: "geoJsonData";
            data: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        } | {
            type: "geoJsonFile";
            file: File;
        };
        description?: string | undefined;
        bounds?: [number, number, number, number] | undefined;
        caption?: string | undefined;
        geometryStyles?: {
            Point?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Polygon?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Line?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        } | undefined;
    };
    type: "createLayersFromGeoJson";
}, {
    params: {
        name: string;
        source: {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        } | {
            type: "geoJsonData";
            data: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        } | {
            type: "geoJsonFile";
            file: File;
        };
        description?: string | undefined;
        bounds?: [number, number, number, number] | undefined;
        caption?: string | undefined;
        geometryStyles?: {
            Point?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Polygon?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            Line?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        } | undefined;
    };
    type: "createLayersFromGeoJson";
}>;
declare const UpdateLayerMessage: z.ZodObject<{
    type: z.ZodLiteral<"updateLayer">;
    params: z.ZodObject<{
        id: z.ZodString;
        style: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
        shownInLegend: z.ZodOptional<z.ZodBoolean>;
        legendDisplay: z.ZodOptional<z.ZodEnum<["default", "nameOnly"]>>;
        name: z.ZodOptional<z.ZodString>;
        caption: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        bounds: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
        source: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"geoJsonUrl">;
            url: z.ZodString;
            refreshInterval: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        }, {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"geoJsonData">;
            data: z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodType<ArrayBuffer, z.ZodTypeDef, ArrayBuffer>]>;
        }, "strip", z.ZodTypeAny, {
            type: "geoJsonData";
            data: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        }, {
            type: "geoJsonData";
            data: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"geoJsonFile">;
            file: z.ZodType<File, z.ZodTypeDef, File>;
        }, "strip", z.ZodTypeAny, {
            type: "geoJsonFile";
            file: File;
        }, {
            type: "geoJsonFile";
            file: File;
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        name?: string | undefined;
        description?: string | undefined;
        style?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        bounds?: [number, number, number, number] | undefined;
        source?: {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        } | {
            type: "geoJsonData";
            data: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        } | {
            type: "geoJsonFile";
            file: File;
        } | undefined;
        caption?: string | undefined;
        shownInLegend?: boolean | undefined;
        legendDisplay?: "default" | "nameOnly" | undefined;
    }, {
        id: string;
        name?: string | undefined;
        description?: string | undefined;
        style?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        bounds?: [number, number, number, number] | undefined;
        source?: {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        } | {
            type: "geoJsonData";
            data: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        } | {
            type: "geoJsonFile";
            file: File;
        } | undefined;
        caption?: string | undefined;
        shownInLegend?: boolean | undefined;
        legendDisplay?: "default" | "nameOnly" | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        id: string;
        name?: string | undefined;
        description?: string | undefined;
        style?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        bounds?: [number, number, number, number] | undefined;
        source?: {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        } | {
            type: "geoJsonData";
            data: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        } | {
            type: "geoJsonFile";
            file: File;
        } | undefined;
        caption?: string | undefined;
        shownInLegend?: boolean | undefined;
        legendDisplay?: "default" | "nameOnly" | undefined;
    };
    type: "updateLayer";
}, {
    params: {
        id: string;
        name?: string | undefined;
        description?: string | undefined;
        style?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        bounds?: [number, number, number, number] | undefined;
        source?: {
            type: "geoJsonUrl";
            url: string;
            refreshInterval?: number | null | undefined;
        } | {
            type: "geoJsonData";
            data: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | ArrayBuffer;
        } | {
            type: "geoJsonFile";
            file: File;
        } | undefined;
        caption?: string | undefined;
        shownInLegend?: boolean | undefined;
        legendDisplay?: "default" | "nameOnly" | undefined;
    };
    type: "updateLayer";
}>;
declare const DeleteLayerMessage: z.ZodObject<{
    type: z.ZodLiteral<"deleteLayer">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "deleteLayer";
}, {
    params: string;
    type: "deleteLayer";
}>;
declare const DuplicateLayerMessage: z.ZodObject<{
    type: z.ZodLiteral<"duplicateLayer">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "duplicateLayer";
}, {
    params: string;
    type: "duplicateLayer";
}>;
declare const GetGroupMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLayerGroup">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "getLayerGroup";
}, {
    params: string;
    type: "getLayerGroup";
}>;
declare const GetGroupsMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLayerGroups">;
    params: z.ZodOptional<z.ZodObject<{
        ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        ids?: string[] | undefined;
    }, {
        ids?: string[] | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getLayerGroups";
    params?: {
        ids?: string[] | undefined;
    } | undefined;
}, {
    type: "getLayerGroups";
    params?: {
        ids?: string[] | undefined;
    } | undefined;
}>;
declare const SetLayerGroupVisibilityMessage: z.ZodObject<{
    type: z.ZodLiteral<"setLayerGroupVisibility">;
    params: z.ZodObject<{
        show: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hide: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setLayerGroupVisibility";
}, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setLayerGroupVisibility";
}>;
declare const SetLayerGroupLegendVisibilityMessage: z.ZodObject<{
    type: z.ZodLiteral<"setLayerGroupLegendVisibility">;
    params: z.ZodObject<{
        show: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hide: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }, {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setLayerGroupLegendVisibility";
}, {
    params: {
        show?: string[] | undefined;
        hide?: string[] | undefined;
    };
    type: "setLayerGroupLegendVisibility";
}>;
declare const OnLayerGroupChangeMessage: z.ZodObject<{
    eventName: z.ZodLiteral<"onLayerGroupChange">;
    id: z.ZodString;
    options: z.ZodObject<{
        id: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
    }, {
        id: string;
    }>;
}, "strict", z.ZodTypeAny, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onLayerGroupChange";
}, {
    options: {
        id: string;
    };
    id: string;
    eventName: "onLayerGroupChange";
}>;
declare const GetLegendItemMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLegendItem">;
    params: z.ZodObject<{
        id: z.ZodString;
        layerId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
        layerId: string;
    }, {
        id: string;
        layerId: string;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        id: string;
        layerId: string;
    };
    type: "getLegendItem";
}, {
    params: {
        id: string;
        layerId: string;
    };
    type: "getLegendItem";
}>;
declare const GetLegendItemsMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLegendItems">;
    params: z.ZodOptional<z.ZodObject<{
        ids: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            layerId: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            id: string;
            layerId: string;
        }, {
            id: string;
            layerId: string;
        }>, "many">>;
        layerIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        ids?: {
            id: string;
            layerId: string;
        }[] | undefined;
        layerIds?: string[] | undefined;
    }, {
        ids?: {
            id: string;
            layerId: string;
        }[] | undefined;
        layerIds?: string[] | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getLegendItems";
    params?: {
        ids?: {
            id: string;
            layerId: string;
        }[] | undefined;
        layerIds?: string[] | undefined;
    } | undefined;
}, {
    type: "getLegendItems";
    params?: {
        ids?: {
            id: string;
            layerId: string;
        }[] | undefined;
        layerIds?: string[] | undefined;
    } | undefined;
}>;
declare const OnLegendItemChangeMessage: z.ZodObject<{
    eventName: z.ZodLiteral<"onLegendItemChange">;
    id: z.ZodString;
    options: z.ZodObject<{
        id: z.ZodString;
        layerId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
        layerId: string;
    }, {
        id: string;
        layerId: string;
    }>;
}, "strict", z.ZodTypeAny, {
    options: {
        id: string;
        layerId: string;
    };
    id: string;
    eventName: "onLegendItemChange";
}, {
    options: {
        id: string;
        layerId: string;
    };
    id: string;
    eventName: "onLegendItemChange";
}>;
declare const SetLegendItemVisibilityMessage: z.ZodObject<{
    type: z.ZodLiteral<"setLegendItemVisibility">;
    params: z.ZodObject<{
        show: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            layerId: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            id: string;
            layerId: string;
        }, {
            id: string;
            layerId: string;
        }>, "many">>;
        hide: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            layerId: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            id: string;
            layerId: string;
        }, {
            id: string;
            layerId: string;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        show?: {
            id: string;
            layerId: string;
        }[] | undefined;
        hide?: {
            id: string;
            layerId: string;
        }[] | undefined;
    }, {
        show?: {
            id: string;
            layerId: string;
        }[] | undefined;
        hide?: {
            id: string;
            layerId: string;
        }[] | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        show?: {
            id: string;
            layerId: string;
        }[] | undefined;
        hide?: {
            id: string;
            layerId: string;
        }[] | undefined;
    };
    type: "setLegendItemVisibility";
}, {
    params: {
        show?: {
            id: string;
            layerId: string;
        }[] | undefined;
        hide?: {
            id: string;
            layerId: string;
        }[] | undefined;
    };
    type: "setLegendItemVisibility";
}>;
declare const GetFiltersMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLayerFilters">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "getLayerFilters";
}, {
    params: string;
    type: "getLayerFilters";
}>;
declare const SetFiltersMessage: z.ZodObject<{
    type: z.ZodLiteral<"setLayerFilters">;
    params: z.ZodObject<{
        layerId: z.ZodString;
        filters: z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>;
        note: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        layerId: string;
        filters: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null;
        note?: string | undefined;
    }, {
        layerId: string;
        filters: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null;
        note?: string | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        layerId: string;
        filters: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null;
        note?: string | undefined;
    };
    type: "setLayerFilters";
}, {
    params: {
        layerId: string;
        filters: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null;
        note?: string | undefined;
    };
    type: "setLayerFilters";
}>;
declare const OnLayerFiltersChangeMessage: z.ZodObject<{
    eventName: z.ZodLiteral<"onLayerFiltersChange">;
    id: z.ZodString;
    options: z.ZodObject<{
        layerId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        layerId: string;
    }, {
        layerId: string;
    }>;
}, "strict", z.ZodTypeAny, {
    options: {
        layerId: string;
    };
    id: string;
    eventName: "onLayerFiltersChange";
}, {
    options: {
        layerId: string;
    };
    id: string;
    eventName: "onLayerFiltersChange";
}>;
declare const GetLayerBoundariesMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLayerBoundaries">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "getLayerBoundaries";
}, {
    params: string;
    type: "getLayerBoundaries";
}>;
declare const SetLayerBoundaryMessage: z.ZodObject<{
    type: z.ZodLiteral<"setLayerBoundary">;
    params: z.ZodObject<{
        layerIds: z.ZodArray<z.ZodString, "many">;
        boundary: z.ZodNullable<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
            type: z.ZodLiteral<"Polygon">;
            coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "Polygon";
            coordinates: [number, number][][];
        }, {
            type: "Polygon";
            coordinates: [number, number][][];
        }>, z.ZodObject<{
            type: z.ZodLiteral<"MultiPolygon">;
            coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
    }, "strip", z.ZodTypeAny, {
        layerIds: string[];
        boundary: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | null;
    }, {
        layerIds: string[];
        boundary: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | null;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        layerIds: string[];
        boundary: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | null;
    };
    type: "setLayerBoundary";
}, {
    params: {
        layerIds: string[];
        boundary: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | null;
    };
    type: "setLayerBoundary";
}>;
declare const OnLayerBoundariesChangeMessage: z.ZodObject<{
    eventName: z.ZodLiteral<"onLayerBoundariesChange">;
    id: z.ZodString;
    options: z.ZodObject<{
        layerId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        layerId: string;
    }, {
        layerId: string;
    }>;
}, "strict", z.ZodTypeAny, {
    options: {
        layerId: string;
    };
    id: string;
    eventName: "onLayerBoundariesChange";
}, {
    options: {
        layerId: string;
    };
    id: string;
    eventName: "onLayerBoundariesChange";
}>;
declare const GetRenderedFeaturesMessage: z.ZodObject<{
    type: z.ZodLiteral<"getRenderedFeatures">;
    params: z.ZodOptional<z.ZodObject<{
        layerIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        areaQuery: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            coordinates: z.ZodObject<{
                latitude: z.ZodNumber;
                longitude: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                latitude: number;
                longitude: number;
            }, {
                latitude: number;
                longitude: number;
            }>;
        }, "strip", z.ZodTypeAny, {
            coordinates: {
                latitude: number;
                longitude: number;
            };
        }, {
            coordinates: {
                latitude: number;
                longitude: number;
            };
        }>, z.ZodObject<{
            boundary: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
        }, "strip", z.ZodTypeAny, {
            boundary: [number, number, number, number];
        }, {
            boundary: [number, number, number, number];
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        layerIds?: string[] | undefined;
        areaQuery?: {
            coordinates: {
                latitude: number;
                longitude: number;
            };
        } | {
            boundary: [number, number, number, number];
        } | undefined;
    }, {
        layerIds?: string[] | undefined;
        areaQuery?: {
            coordinates: {
                latitude: number;
                longitude: number;
            };
        } | {
            boundary: [number, number, number, number];
        } | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getRenderedFeatures";
    params?: {
        layerIds?: string[] | undefined;
        areaQuery?: {
            coordinates: {
                latitude: number;
                longitude: number;
            };
        } | {
            boundary: [number, number, number, number];
        } | undefined;
    } | undefined;
}, {
    type: "getRenderedFeatures";
    params?: {
        layerIds?: string[] | undefined;
        areaQuery?: {
            coordinates: {
                latitude: number;
                longitude: number;
            };
        } | {
            boundary: [number, number, number, number];
        } | undefined;
    } | undefined;
}>;
declare const GetFeatureMessage: z.ZodObject<{
    type: z.ZodLiteral<"getFeature">;
    params: z.ZodObject<{
        id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
        layerId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string | number;
        layerId: string;
    }, {
        id: string | number;
        layerId: string;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        id: string | number;
        layerId: string;
    };
    type: "getFeature";
}, {
    params: {
        id: string | number;
        layerId: string;
    };
    type: "getFeature";
}>;
declare const GetFeaturesMessage: z.ZodObject<{
    type: z.ZodLiteral<"getFeatures">;
    params: z.ZodObject<{
        layerId: z.ZodString;
        filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
        sorting: z.ZodOptional<z.ZodObject<{
            attribute: z.ZodString;
            direction: z.ZodEnum<["asc", "desc"]>;
        }, "strip", z.ZodTypeAny, {
            attribute: string;
            direction: "asc" | "desc";
        }, {
            attribute: string;
            direction: "asc" | "desc";
        }>>;
        boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
            type: z.ZodLiteral<"Polygon">;
            coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "Polygon";
            coordinates: [number, number][][];
        }, {
            type: "Polygon";
            coordinates: [number, number][][];
        }>, z.ZodObject<{
            type: z.ZodLiteral<"MultiPolygon">;
            coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
        search: z.ZodOptional<z.ZodString>;
        pagination: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
        pageSize: z.ZodOptional<z.ZodNumber>;
        select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        layerId: string;
        search?: string | undefined;
        sorting?: {
            attribute: string;
            direction: "asc" | "desc";
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
        pagination?: string | null | undefined;
        pageSize?: number | undefined;
        select?: string[] | undefined;
    }, {
        layerId: string;
        search?: string | undefined;
        sorting?: {
            attribute: string;
            direction: "asc" | "desc";
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
        pagination?: string | null | undefined;
        pageSize?: number | undefined;
        select?: string[] | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        layerId: string;
        search?: string | undefined;
        sorting?: {
            attribute: string;
            direction: "asc" | "desc";
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
        pagination?: string | null | undefined;
        pageSize?: number | undefined;
        select?: string[] | undefined;
    };
    type: "getFeatures";
}, {
    params: {
        layerId: string;
        search?: string | undefined;
        sorting?: {
            attribute: string;
            direction: "asc" | "desc";
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
        pagination?: string | null | undefined;
        pageSize?: number | undefined;
        select?: string[] | undefined;
    };
    type: "getFeatures";
}>;
declare const GetGeoJsonFeatureMessage: z.ZodObject<{
    type: z.ZodLiteral<"getGeoJsonFeature">;
    params: z.ZodObject<{
        id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
        layerId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string | number;
        layerId: string;
    }, {
        id: string | number;
        layerId: string;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        id: string | number;
        layerId: string;
    };
    type: "getGeoJsonFeature";
}, {
    params: {
        id: string | number;
        layerId: string;
    };
    type: "getGeoJsonFeature";
}>;
declare const GetLayerCategoriesMessage: z.ZodObject<{
    type: z.ZodLiteral<"getCategoryData">;
    params: z.ZodObject<{
        layerId: z.ZodString;
        attribute: z.ZodString;
        limit: z.ZodOptional<z.ZodNumber>;
        boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
            type: z.ZodLiteral<"Polygon">;
            coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "Polygon";
            coordinates: [number, number][][];
        }, {
            type: "Polygon";
            coordinates: [number, number][][];
        }>, z.ZodObject<{
            type: z.ZodLiteral<"MultiPolygon">;
            coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
        filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
        values: z.ZodOptional<z.ZodObject<{
            boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
                type: z.ZodLiteral<"Polygon">;
                coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
            }, "strip", z.ZodTypeAny, {
                type: "Polygon";
                coordinates: [number, number][][];
            }, {
                type: "Polygon";
                coordinates: [number, number][][];
            }>, z.ZodObject<{
                type: z.ZodLiteral<"MultiPolygon">;
                coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
            }, "strip", z.ZodTypeAny, {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            }, {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
            filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
            aggregation: z.ZodOptional<z.ZodObject<{
                method: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
                attribute: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            }, {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            }>>;
        }, "strip", z.ZodTypeAny, {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        }, {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        attribute: string;
        layerId: string;
        values?: {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
        limit?: number | undefined;
    }, {
        attribute: string;
        layerId: string;
        values?: {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
        limit?: number | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        attribute: string;
        layerId: string;
        values?: {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
        limit?: number | undefined;
    };
    type: "getCategoryData";
}, {
    params: {
        attribute: string;
        layerId: string;
        values?: {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
        limit?: number | undefined;
    };
    type: "getCategoryData";
}>;
declare const GetLayerHistogramMessage: z.ZodObject<{
    type: z.ZodLiteral<"getHistogramData">;
    params: z.ZodObject<{
        layerId: z.ZodString;
        attribute: z.ZodString;
        steps: z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"equal-intervals">;
            count: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            type: "equal-intervals";
            count: number;
        }, {
            type: "equal-intervals";
            count: number;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"time-interval">;
            interval: z.ZodEnum<["hour", "day", "week", "month", "year"]>;
        }, "strip", z.ZodTypeAny, {
            type: "time-interval";
            interval: "hour" | "day" | "week" | "month" | "year";
        }, {
            type: "time-interval";
            interval: "hour" | "day" | "week" | "month" | "year";
        }>, z.ZodArray<z.ZodNumber, "many">]>;
        boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
            type: z.ZodLiteral<"Polygon">;
            coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "Polygon";
            coordinates: [number, number][][];
        }, {
            type: "Polygon";
            coordinates: [number, number][][];
        }>, z.ZodObject<{
            type: z.ZodLiteral<"MultiPolygon">;
            coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
        filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
        values: z.ZodOptional<z.ZodObject<{
            boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
                type: z.ZodLiteral<"Polygon">;
                coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
            }, "strip", z.ZodTypeAny, {
                type: "Polygon";
                coordinates: [number, number][][];
            }, {
                type: "Polygon";
                coordinates: [number, number][][];
            }>, z.ZodObject<{
                type: z.ZodLiteral<"MultiPolygon">;
                coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
            }, "strip", z.ZodTypeAny, {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            }, {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
            filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
            aggregation: z.ZodOptional<z.ZodObject<{
                method: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
                attribute: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            }, {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            }>>;
        }, "strip", z.ZodTypeAny, {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        }, {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        attribute: string;
        layerId: string;
        steps: number[] | {
            type: "equal-intervals";
            count: number;
        } | {
            type: "time-interval";
            interval: "hour" | "day" | "week" | "month" | "year";
        };
        values?: {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    }, {
        attribute: string;
        layerId: string;
        steps: number[] | {
            type: "equal-intervals";
            count: number;
        } | {
            type: "time-interval";
            interval: "hour" | "day" | "week" | "month" | "year";
        };
        values?: {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        attribute: string;
        layerId: string;
        steps: number[] | {
            type: "equal-intervals";
            count: number;
        } | {
            type: "time-interval";
            interval: "hour" | "day" | "week" | "month" | "year";
        };
        values?: {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    };
    type: "getHistogramData";
}, {
    params: {
        attribute: string;
        layerId: string;
        steps: number[] | {
            type: "equal-intervals";
            count: number;
        } | {
            type: "time-interval";
            interval: "hour" | "day" | "week" | "month" | "year";
        };
        values?: {
            filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
            boundary?: [number, number, number, number] | [number, number][] | {
                type: "Polygon";
                coordinates: [number, number][][];
            } | {
                type: "MultiPolygon";
                coordinates: [number, number][][][];
            } | undefined;
            aggregation?: {
                attribute: string;
                method: "avg" | "max" | "min" | "sum" | "median";
            } | undefined;
        } | undefined;
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    };
    type: "getHistogramData";
}>;
declare const GetLayerCalculationMessage: z.ZodObject<{
    type: z.ZodLiteral<"getAggregates">;
    params: z.ZodObject<{
        layerId: z.ZodString;
        boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
            type: z.ZodLiteral<"Polygon">;
            coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "Polygon";
            coordinates: [number, number][][];
        }, {
            type: "Polygon";
            coordinates: [number, number][][];
        }>, z.ZodObject<{
            type: z.ZodLiteral<"MultiPolygon">;
            coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
        filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
        aggregation: z.ZodObject<{
            methods: z.ZodArray<z.ZodUnion<[z.ZodEnum<["avg", "max", "min", "sum", "median"]>, z.ZodLiteral<"count">]>, "many">;
            attribute: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
            attribute?: string | undefined;
        }, {
            methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
            attribute?: string | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        layerId: string;
        aggregation: {
            methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
            attribute?: string | undefined;
        };
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    }, {
        layerId: string;
        aggregation: {
            methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
            attribute?: string | undefined;
        };
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        layerId: string;
        aggregation: {
            methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
            attribute?: string | undefined;
        };
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    };
    type: "getAggregates";
}, {
    params: {
        layerId: string;
        aggregation: {
            methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
            attribute?: string | undefined;
        };
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    };
    type: "getAggregates";
}>;
declare const GetLayerPrecomputedCalculationMessage: z.ZodObject<{
    type: z.ZodLiteral<"getPrecomputedAggregates">;
    params: z.ZodObject<{
        layerId: z.ZodString;
        boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
            type: z.ZodLiteral<"Polygon">;
            coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "Polygon";
            coordinates: [number, number][][];
        }, {
            type: "Polygon";
            coordinates: [number, number][][];
        }>, z.ZodObject<{
            type: z.ZodLiteral<"MultiPolygon">;
            coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }, {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
        filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
        gridConfig: z.ZodUnion<[z.ZodObject<{
            type: z.ZodEnum<["h3"]>;
            resolution: z.ZodNumber;
            method: z.ZodEnum<["count"]>;
        }, "strip", z.ZodTypeAny, {
            type: "h3";
            method: "count";
            resolution: number;
        }, {
            type: "h3";
            method: "count";
            resolution: number;
        }>, z.ZodObject<{
            type: z.ZodEnum<["h3"]>;
            resolution: z.ZodNumber;
            method: z.ZodEnum<["avg", "max", "min", "sum"]>;
            attribute: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "h3";
            attribute: string;
            method: "avg" | "max" | "min" | "sum";
            resolution: number;
        }, {
            type: "h3";
            attribute: string;
            method: "avg" | "max" | "min" | "sum";
            resolution: number;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        layerId: string;
        gridConfig: {
            type: "h3";
            method: "count";
            resolution: number;
        } | {
            type: "h3";
            attribute: string;
            method: "avg" | "max" | "min" | "sum";
            resolution: number;
        };
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    }, {
        layerId: string;
        gridConfig: {
            type: "h3";
            method: "count";
            resolution: number;
        } | {
            type: "h3";
            attribute: string;
            method: "avg" | "max" | "min" | "sum";
            resolution: number;
        };
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        layerId: string;
        gridConfig: {
            type: "h3";
            method: "count";
            resolution: number;
        } | {
            type: "h3";
            attribute: string;
            method: "avg" | "max" | "min" | "sum";
            resolution: number;
        };
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    };
    type: "getPrecomputedAggregates";
}, {
    params: {
        layerId: string;
        gridConfig: {
            type: "h3";
            method: "count";
            resolution: number;
        } | {
            type: "h3";
            attribute: string;
            method: "avg" | "max" | "min" | "sum";
            resolution: number;
        };
        filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
        boundary?: [number, number, number, number] | [number, number][] | {
            type: "Polygon";
            coordinates: [number, number][][];
        } | {
            type: "MultiPolygon";
            coordinates: [number, number][][][];
        } | undefined;
    };
    type: "getPrecomputedAggregates";
}>;
declare const GetLayerSchemaMessage: z.ZodObject<{
    type: z.ZodLiteral<"getLayerSchema">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "getLayerSchema";
}, {
    params: string;
    type: "getLayerSchema";
}>;
type LayersSchema = {
    methods: {
        getLayer: Method<zInfer<typeof GetLayerMessage>>;
        getLayers: Method<zInfer<typeof GetLayersMessage>>;
        setLayerVisibility: Method<zInfer<typeof SetLayerVisibilityMessage>>;
        setLayerStyle: Method<zInfer<typeof SetLayerStyleMessage>>;
        setLayerLegendVisibility: Method<zInfer<typeof SetLayerLegendVisibilityMessage>>;
        createLayersFromGeoJson: Method<zInfer<typeof CreateLayersFromGeoJsonMessage>>;
        updateLayer: Method<zInfer<typeof UpdateLayerMessage>>;
        deleteLayer: Method<zInfer<typeof DeleteLayerMessage>>;
        duplicateLayer: Method<zInfer<typeof DuplicateLayerMessage>>;
        getLayerGroup: Method<zInfer<typeof GetGroupMessage>>;
        getLayerGroups: Method<zInfer<typeof GetGroupsMessage>>;
        setLayerGroupVisibility: Method<zInfer<typeof SetLayerGroupVisibilityMessage>>;
        setLayerGroupLegendVisibility: Method<zInfer<typeof SetLayerGroupLegendVisibilityMessage>>;
        getLegendItem: Method<zInfer<typeof GetLegendItemMessage>>;
        getLegendItems: Method<zInfer<typeof GetLegendItemsMessage>>;
        setLegendItemVisibility: Method<zInfer<typeof SetLegendItemVisibilityMessage>>;
        getLayerFilters: Method<zInfer<typeof GetFiltersMessage>>;
        setLayerFilters: Method<zInfer<typeof SetFiltersMessage>>;
        getRenderedFeatures: Method<zInfer<typeof GetRenderedFeaturesMessage>>;
        getFeature: Method<zInfer<typeof GetFeatureMessage>>;
        getGeoJsonFeature: Method<zInfer<typeof GetGeoJsonFeatureMessage>>;
        getLayerBoundaries: Method<zInfer<typeof GetLayerBoundariesMessage>>;
        setLayerBoundary: Method<zInfer<typeof SetLayerBoundaryMessage>>;
        getFeatures: Method<zInfer<typeof GetFeaturesMessage>>;
        getCategoryData: Method<zInfer<typeof GetLayerCategoriesMessage>>;
        getHistogramData: Method<zInfer<typeof GetLayerHistogramMessage>>;
        getAggregates: Method<zInfer<typeof GetLayerCalculationMessage>>;
        getPrecomputedAggregates: Method<zInfer<typeof GetLayerPrecomputedCalculationMessage>>;
        getLayerSchema: Method<zInfer<typeof GetLayerSchemaMessage>>;
    };
    listeners: {
        onLayerChange: Listener<zInfer<typeof OnLayerChangeMessage.shape.options>, LayerChangeCallbackParams>;
        onLayerGroupChange: Listener<zInfer<typeof OnLayerGroupChangeMessage.shape.options>, LayerGroupChangeCallbackParams>;
        onLegendItemChange: Listener<zInfer<typeof OnLegendItemChangeMessage.shape.options>, LegendItemChangeCallbackParams>;
        onLayerFiltersChange: Listener<zInfer<typeof OnLayerFiltersChangeMessage.shape.options>, LayerFilters>;
        onLayerBoundariesChange: Listener<zInfer<typeof OnLayerBoundariesChangeMessage.shape.options>, LayerBoundaries | null>;
    };
};

declare const GetMapDetailsMessage: z.ZodObject<{
    type: z.ZodLiteral<"getMapDetails">;
    params: z.ZodUndefined;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getMapDetails";
    params?: undefined;
}, {
    type: "getMapDetails";
    params?: undefined;
}>;
type MiscSchema = {
    methods: {
        getMapDetails: Method<zInfer<typeof GetMapDetailsMessage>>;
    };
    listeners: {};
};

declare const GetSelectionMessage: z.ZodObject<{
    type: z.ZodLiteral<"getSelection">;
    params: z.ZodUndefined;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getSelection";
    params?: undefined;
}, {
    type: "getSelection";
    params?: undefined;
}>;
declare const SelectFeatureMessage: z.ZodObject<{
    type: z.ZodLiteral<"selectFeature">;
    params: z.ZodObject<{
        id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
        layerId: z.ZodString;
        showPopup: z.ZodOptional<z.ZodBoolean>;
        fitViewport: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
            maxZoom: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            maxZoom: number;
        }, {
            maxZoom: number;
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        id: string | number;
        layerId: string;
        showPopup?: boolean | undefined;
        fitViewport?: boolean | {
            maxZoom: number;
        } | undefined;
    }, {
        id: string | number;
        layerId: string;
        showPopup?: boolean | undefined;
        fitViewport?: boolean | {
            maxZoom: number;
        } | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        id: string | number;
        layerId: string;
        showPopup?: boolean | undefined;
        fitViewport?: boolean | {
            maxZoom: number;
        } | undefined;
    };
    type: "selectFeature";
}, {
    params: {
        id: string | number;
        layerId: string;
        showPopup?: boolean | undefined;
        fitViewport?: boolean | {
            maxZoom: number;
        } | undefined;
    };
    type: "selectFeature";
}>;
declare const ClearSelectionMessage: z.ZodObject<{
    type: z.ZodLiteral<"clearSelection">;
    params: z.ZodOptional<z.ZodObject<{
        features: z.ZodOptional<z.ZodBoolean>;
        elements: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        elements?: boolean | undefined;
        features?: boolean | undefined;
    }, {
        elements?: boolean | undefined;
        features?: boolean | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "clearSelection";
    params?: {
        elements?: boolean | undefined;
        features?: boolean | undefined;
    } | undefined;
}, {
    type: "clearSelection";
    params?: {
        elements?: boolean | undefined;
        features?: boolean | undefined;
    } | undefined;
}>;
type SelectionSchema = {
    methods: {
        getSelection: Method<zInfer<typeof GetSelectionMessage>>;
        selectFeature: Method<zInfer<typeof SelectFeatureMessage>>;
        clearSelection: Method<zInfer<typeof ClearSelectionMessage>>;
    };
    listeners: {
        onSelectionChange: ListenerNoOptions<{
            selection: Array<EntityNode>;
        }>;
    };
};

declare const SetToolMessage: z.ZodObject<{
    type: z.ZodLiteral<"setTool">;
    params: z.ZodNullable<z.ZodEnum<["circle", "highlighter", "line", "marker", "note", "pin", "polygon", "route", "text", "link"]>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: "text" | "link" | "note" | "circle" | "highlighter" | "line" | "marker" | "pin" | "polygon" | "route" | null;
    type: "setTool";
}, {
    params: "text" | "link" | "note" | "circle" | "highlighter" | "line" | "marker" | "pin" | "polygon" | "route" | null;
    type: "setTool";
}>;
declare const GetToolMessage: z.ZodObject<{
    type: z.ZodLiteral<"getTool">;
    params: z.ZodUndefined;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getTool";
    params?: undefined;
}, {
    type: "getTool";
    params?: undefined;
}>;
declare const SetToolSettingsMessage: z.ZodObject<{
    type: z.ZodLiteral<"setToolSettings">;
    params: z.ZodDiscriminatedUnion<"tool", [z.ZodObject<z.objectUtil.extendShape<{
        symbol: z.ZodOptional<z.ZodString>;
        color: z.ZodOptional<z.ZodString>;
        frame: z.ZodOptional<z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>>;
        afterCreation: z.ZodOptional<z.ZodEnum<["enter name", "add another", "select"]>>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"pin">;
    }>, "strip", z.ZodTypeAny, {
        tool: "pin";
        symbol?: string | undefined;
        color?: string | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        afterCreation?: "select" | "enter name" | "add another" | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "pin";
        symbol?: string | undefined;
        color?: string | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        afterCreation?: "select" | "enter name" | "add another" | undefined;
        showInspector?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        color: z.ZodOptional<z.ZodString>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        distanceMarker: z.ZodOptional<z.ZodBoolean>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"line">;
    }>, "strip", z.ZodTypeAny, {
        tool: "line";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "line";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        color: z.ZodOptional<z.ZodString>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        distanceMarker: z.ZodOptional<z.ZodBoolean>;
        routingMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>>;
        endCaps: z.ZodOptional<z.ZodBoolean>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"route">;
    }>, "strip", z.ZodTypeAny, {
        tool: "route";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "route";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
        showInspector?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        color: z.ZodOptional<z.ZodString>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        fillOpacity: z.ZodOptional<z.ZodNumber>;
        areaMarker: z.ZodOptional<z.ZodBoolean>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"polygon">;
    }>, "strip", z.ZodTypeAny, {
        tool: "polygon";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "polygon";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        color: z.ZodOptional<z.ZodString>;
        strokeOpacity: z.ZodOptional<z.ZodNumber>;
        strokeWidth: z.ZodOptional<z.ZodNumber>;
        strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
        fillOpacity: z.ZodOptional<z.ZodNumber>;
        radiusMarker: z.ZodOptional<z.ZodBoolean>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"circle">;
    }>, "strip", z.ZodTypeAny, {
        tool: "circle";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        radiusMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "circle";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        radiusMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        color: z.ZodOptional<z.ZodString>;
        opacity: z.ZodOptional<z.ZodNumber>;
        size: z.ZodOptional<z.ZodNumber>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"marker">;
    }>, "strip", z.ZodTypeAny, {
        tool: "marker";
        color?: string | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "marker";
        color?: string | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        showInspector?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        color: z.ZodOptional<z.ZodString>;
        opacity: z.ZodOptional<z.ZodNumber>;
        renderHoles: z.ZodOptional<z.ZodBoolean>;
        size: z.ZodOptional<z.ZodNumber>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"highlighter">;
    }>, "strip", z.ZodTypeAny, {
        tool: "highlighter";
        color?: string | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        renderHoles?: boolean | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "highlighter";
        color?: string | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        renderHoles?: boolean | undefined;
        showInspector?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        color: z.ZodOptional<z.ZodString>;
        align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
        style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"text">;
    }>, "strip", z.ZodTypeAny, {
        tool: "text";
        color?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "text";
        color?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        showInspector?: boolean | undefined;
    }>, z.ZodObject<z.objectUtil.extendShape<{
        color: z.ZodOptional<z.ZodString>;
        align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
        style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
    }, {
        showInspector: z.ZodOptional<z.ZodBoolean>;
        tool: z.ZodLiteral<"note">;
    }>, "strip", z.ZodTypeAny, {
        tool: "note";
        color?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        showInspector?: boolean | undefined;
    }, {
        tool: "note";
        color?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        showInspector?: boolean | undefined;
    }>]>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        tool: "pin";
        symbol?: string | undefined;
        color?: string | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        afterCreation?: "select" | "enter name" | "add another" | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "line";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "route";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "polygon";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "circle";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        radiusMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "marker";
        color?: string | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "highlighter";
        color?: string | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        renderHoles?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "text";
        color?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "note";
        color?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        showInspector?: boolean | undefined;
    };
    type: "setToolSettings";
}, {
    params: {
        tool: "pin";
        symbol?: string | undefined;
        color?: string | undefined;
        frame?: "frame-circle" | "frame-square" | null | undefined;
        afterCreation?: "select" | "enter name" | "add another" | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "line";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "route";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        distanceMarker?: boolean | undefined;
        routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
        endCaps?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "polygon";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        areaMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "circle";
        color?: string | undefined;
        strokeOpacity?: number | undefined;
        strokeWidth?: number | undefined;
        strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
        fillOpacity?: number | undefined;
        radiusMarker?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "marker";
        color?: string | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "highlighter";
        color?: string | undefined;
        opacity?: number | undefined;
        size?: number | undefined;
        renderHoles?: boolean | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "text";
        color?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        showInspector?: boolean | undefined;
    } | {
        tool: "note";
        color?: string | undefined;
        align?: "center" | "left" | "right" | undefined;
        style?: "italic" | "light" | "regular" | "caps" | undefined;
        showInspector?: boolean | undefined;
    };
    type: "setToolSettings";
}>;
declare const GetToolSettingsMessage: z.ZodObject<{
    type: z.ZodLiteral<"getToolSettings">;
    params: z.ZodEnum<["circle", "highlighter", "line", "marker", "note", "pin", "polygon", "route", "text"]>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: "text" | "note" | "circle" | "highlighter" | "line" | "marker" | "pin" | "polygon" | "route";
    type: "getToolSettings";
}, {
    params: "text" | "note" | "circle" | "highlighter" | "line" | "marker" | "pin" | "polygon" | "route";
    type: "getToolSettings";
}>;
type ToolsSchema = {
    methods: {
        setTool: Method<zInfer<typeof SetToolMessage>>;
        getTool: Method<zInfer<typeof GetToolMessage>>;
        setToolSettings: Method<zInfer<typeof SetToolSettingsMessage>>;
        getToolSettings: Method<zInfer<typeof GetToolSettingsMessage>>;
    };
    listeners: {
        onToolChange: ListenerNoOptions<ToolType | null>;
        onToolSettingsChange: ListenerNoOptions<ToolSettingsChangeEvent>;
    };
};

declare const CreateActionTriggerMessage: z.ZodObject<{
    type: z.ZodLiteral<"createActionTrigger">;
    params: z.ZodObject<{
        actionTrigger: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
            id: z.ZodOptional<z.ZodString>;
            onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                id: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                id: string;
            }, {
                id: string;
            }>], z.ZodUnknown>, z.ZodVoid>>;
            onDestroy: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                id: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                id: string;
            }, {
                id: string;
            }>], z.ZodUnknown>, z.ZodVoid>>;
        }, {
            onCreate: z.ZodOptional<z.ZodString>;
            onDestroy: z.ZodOptional<z.ZodString>;
        }>, {
            type: z.ZodLiteral<"ActionTrigger">;
            label: z.ZodString;
            disabled: z.ZodOptional<z.ZodBoolean>;
        }>, {
            type: z.ZodUndefined;
        }>, {
            onTrigger: z.ZodString;
        }>, "strip", z.ZodTypeAny, {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            disabled?: boolean | undefined;
        }, {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            disabled?: boolean | undefined;
        }>;
        placement: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            after: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            after: string;
        }, {
            after: string;
        }>, z.ZodObject<{
            before: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            before: string;
        }, {
            before: string;
        }>, z.ZodObject<{
            at: z.ZodEnum<["start", "end"]>;
        }, "strip", z.ZodTypeAny, {
            at: "start" | "end";
        }, {
            at: "start" | "end";
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        actionTrigger: {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            disabled?: boolean | undefined;
        };
        placement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    }, {
        actionTrigger: {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            disabled?: boolean | undefined;
        };
        placement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        actionTrigger: {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            disabled?: boolean | undefined;
        };
        placement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    };
    type: "createActionTrigger";
}, {
    params: {
        actionTrigger: {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            disabled?: boolean | undefined;
        };
        placement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    };
    type: "createActionTrigger";
}>;
declare const UpdateActionTriggerMessage: z.ZodObject<{
    type: z.ZodLiteral<"updateActionTrigger">;
    params: z.ZodObject<{
        type: z.ZodOptional<z.ZodUndefined>;
        id: z.ZodString;
        onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        label: z.ZodOptional<z.ZodString>;
        disabled: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        onTrigger: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        type?: undefined;
        onCreate?: string | undefined;
        onDestroy?: string | undefined;
        label?: string | undefined;
        disabled?: boolean | undefined;
        onTrigger?: string | undefined;
    }, {
        id: string;
        type?: undefined;
        onCreate?: string | undefined;
        onDestroy?: string | undefined;
        label?: string | undefined;
        disabled?: boolean | undefined;
        onTrigger?: string | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        id: string;
        type?: undefined;
        onCreate?: string | undefined;
        onDestroy?: string | undefined;
        label?: string | undefined;
        disabled?: boolean | undefined;
        onTrigger?: string | undefined;
    };
    type: "updateActionTrigger";
}, {
    params: {
        id: string;
        type?: undefined;
        onCreate?: string | undefined;
        onDestroy?: string | undefined;
        label?: string | undefined;
        disabled?: boolean | undefined;
        onTrigger?: string | undefined;
    };
    type: "updateActionTrigger";
}>;
declare const DeleteActionTriggerMessage: z.ZodObject<{
    type: z.ZodLiteral<"deleteActionTrigger">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "deleteActionTrigger";
}, {
    params: string;
    type: "deleteActionTrigger";
}>;
declare const CreateFeatureActionMessage: z.ZodObject<{
    type: z.ZodLiteral<"createFeatureAction">;
    params: z.ZodObject<{
        action: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
            id: z.ZodOptional<z.ZodString>;
            onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                id: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                id: string;
            }, {
                id: string;
            }>], z.ZodUnknown>, z.ZodVoid>>;
            onDestroy: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                id: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                id: string;
            }, {
                id: string;
            }>], z.ZodUnknown>, z.ZodVoid>>;
        }, {
            onCreate: z.ZodOptional<z.ZodString>;
            onDestroy: z.ZodOptional<z.ZodString>;
        }>, {
            type: z.ZodLiteral<"FeatureAction">;
            label: z.ZodString;
            onTrigger: z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                feature: z.ZodType<LayerFeature, z.ZodTypeDef, LayerFeature>;
            }, "strip", z.ZodTypeAny, {
                feature: LayerFeature;
            }, {
                feature: LayerFeature;
            }>], z.ZodUnknown>, z.ZodVoid>;
            layerIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            geometryTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<["Polygon", "Line", "Point", "Raster"]>, "many">>;
        }>, {
            type: z.ZodUndefined;
        }>, {
            onTrigger: z.ZodString;
        }>, "strip", z.ZodTypeAny, {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            layerIds?: string[] | undefined;
            geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
        }, {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            layerIds?: string[] | undefined;
            geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
        }>;
        placement: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            after: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            after: string;
        }, {
            after: string;
        }>, z.ZodObject<{
            before: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            before: string;
        }, {
            before: string;
        }>, z.ZodObject<{
            at: z.ZodEnum<["start", "end"]>;
        }, "strip", z.ZodTypeAny, {
            at: "start" | "end";
        }, {
            at: "start" | "end";
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        action: {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            layerIds?: string[] | undefined;
            geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
        };
        placement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    }, {
        action: {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            layerIds?: string[] | undefined;
            geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
        };
        placement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        action: {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            layerIds?: string[] | undefined;
            geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
        };
        placement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    };
    type: "createFeatureAction";
}, {
    params: {
        action: {
            label: string;
            onTrigger: string;
            type?: undefined;
            id?: string | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            layerIds?: string[] | undefined;
            geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
        };
        placement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    };
    type: "createFeatureAction";
}>;
declare const UpdateFeatureActionMessage: z.ZodObject<{
    type: z.ZodLiteral<"updateFeatureAction">;
    params: z.ZodObject<{
        type: z.ZodOptional<z.ZodUndefined>;
        id: z.ZodString;
        onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        label: z.ZodOptional<z.ZodString>;
        onTrigger: z.ZodOptional<z.ZodString>;
        layerIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
        geometryTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<["Polygon", "Line", "Point", "Raster"]>, "many">>>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        type?: undefined;
        onCreate?: string | undefined;
        onDestroy?: string | undefined;
        label?: string | undefined;
        onTrigger?: string | undefined;
        layerIds?: string[] | undefined;
        geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
    }, {
        id: string;
        type?: undefined;
        onCreate?: string | undefined;
        onDestroy?: string | undefined;
        label?: string | undefined;
        onTrigger?: string | undefined;
        layerIds?: string[] | undefined;
        geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        id: string;
        type?: undefined;
        onCreate?: string | undefined;
        onDestroy?: string | undefined;
        label?: string | undefined;
        onTrigger?: string | undefined;
        layerIds?: string[] | undefined;
        geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
    };
    type: "updateFeatureAction";
}, {
    params: {
        id: string;
        type?: undefined;
        onCreate?: string | undefined;
        onDestroy?: string | undefined;
        label?: string | undefined;
        onTrigger?: string | undefined;
        layerIds?: string[] | undefined;
        geometryTypes?: ("Point" | "Polygon" | "Line" | "Raster")[] | undefined;
    };
    type: "updateFeatureAction";
}>;
declare const DeleteFeatureActionMessage: z.ZodObject<{
    type: z.ZodLiteral<"deleteFeatureAction">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "deleteFeatureAction";
}, {
    params: string;
    type: "deleteFeatureAction";
}>;
declare const CreatePanelIdMessage: z.ZodObject<{
    type: z.ZodLiteral<"createPanelId">;
    params: z.ZodVoid;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "createPanelId";
    params?: void | undefined;
}, {
    type: "createPanelId";
    params?: void | undefined;
}>;
declare const CreateOrUpdatePanelMessage: z.ZodObject<{
    type: z.ZodLiteral<"createOrUpdatePanel">;
    params: z.ZodObject<{
        panel: z.ZodObject<z.objectUtil.extendShape<{
            type: z.ZodOptional<z.ZodLiteral<"Panel">>;
            id: z.ZodString;
            onCreate: z.ZodOptional<z.ZodString>;
            onDestroy: z.ZodOptional<z.ZodString>;
            title: z.ZodOptional<z.ZodString>;
            body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">>;
            footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">>;
            onClickClose: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                id: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                id: string;
            }, {
                id: string;
            }>], z.ZodUnknown>, z.ZodVoid>>;
        }, {
            onClickClose: z.ZodOptional<z.ZodString>;
            body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreateClonable, z.ZodTypeDef, UIPanelElementCreateClonable>, "many">>;
            footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreateClonable, z.ZodTypeDef, UIPanelElementCreateClonable>, "many">>;
        }>, "strip", z.ZodTypeAny, {
            id: string;
            type?: "Panel" | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            title?: string | undefined;
            body?: UIPanelElementCreateClonable[] | undefined;
            footer?: UIPanelElementCreateClonable[] | undefined;
            onClickClose?: string | undefined;
        }, {
            id: string;
            type?: "Panel" | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            title?: string | undefined;
            body?: UIPanelElementCreateClonable[] | undefined;
            footer?: UIPanelElementCreateClonable[] | undefined;
            onClickClose?: string | undefined;
        }>;
        initialPlacement: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            after: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            after: string;
        }, {
            after: string;
        }>, z.ZodObject<{
            before: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            before: string;
        }, {
            before: string;
        }>, z.ZodObject<{
            at: z.ZodEnum<["start", "end"]>;
        }, "strip", z.ZodTypeAny, {
            at: "start" | "end";
        }, {
            at: "start" | "end";
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        panel: {
            id: string;
            type?: "Panel" | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            title?: string | undefined;
            body?: UIPanelElementCreateClonable[] | undefined;
            footer?: UIPanelElementCreateClonable[] | undefined;
            onClickClose?: string | undefined;
        };
        initialPlacement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    }, {
        panel: {
            id: string;
            type?: "Panel" | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            title?: string | undefined;
            body?: UIPanelElementCreateClonable[] | undefined;
            footer?: UIPanelElementCreateClonable[] | undefined;
            onClickClose?: string | undefined;
        };
        initialPlacement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        panel: {
            id: string;
            type?: "Panel" | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            title?: string | undefined;
            body?: UIPanelElementCreateClonable[] | undefined;
            footer?: UIPanelElementCreateClonable[] | undefined;
            onClickClose?: string | undefined;
        };
        initialPlacement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    };
    type: "createOrUpdatePanel";
}, {
    params: {
        panel: {
            id: string;
            type?: "Panel" | undefined;
            onCreate?: string | undefined;
            onDestroy?: string | undefined;
            title?: string | undefined;
            body?: UIPanelElementCreateClonable[] | undefined;
            footer?: UIPanelElementCreateClonable[] | undefined;
            onClickClose?: string | undefined;
        };
        initialPlacement?: {
            after: string;
        } | {
            before: string;
        } | {
            at: "start" | "end";
        } | undefined;
    };
    type: "createOrUpdatePanel";
}>;
declare const DeletePanelMessage: z.ZodObject<{
    type: z.ZodLiteral<"deletePanel">;
    params: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: string;
    type: "deletePanel";
}, {
    params: string;
    type: "deletePanel";
}>;
declare const CreatePanelElementsMessage: z.ZodObject<{
    type: z.ZodLiteral<"createPanelElements">;
    params: z.ZodObject<{
        panelId: z.ZodString;
        elements: z.ZodArray<z.ZodObject<{
            element: z.ZodType<UIPanelElementCreateClonable, z.ZodTypeDef, UIPanelElementCreateClonable>;
            container: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"body">, z.ZodLiteral<"footer">, z.ZodObject<{
                id: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                id: string;
            }, {
                id: string;
            }>]>>;
            placement: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                after: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                after: string;
            }, {
                after: string;
            }>, z.ZodObject<{
                before: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                before: string;
            }, {
                before: string;
            }>, z.ZodObject<{
                at: z.ZodEnum<["start", "end"]>;
            }, "strip", z.ZodTypeAny, {
                at: "start" | "end";
            }, {
                at: "start" | "end";
            }>]>>;
        }, "strip", z.ZodTypeAny, {
            element: UIPanelElementCreateClonable;
            placement?: {
                after: string;
            } | {
                before: string;
            } | {
                at: "start" | "end";
            } | undefined;
            container?: "body" | "footer" | {
                id: string;
            } | undefined;
        }, {
            element: UIPanelElementCreateClonable;
            placement?: {
                after: string;
            } | {
                before: string;
            } | {
                at: "start" | "end";
            } | undefined;
            container?: "body" | "footer" | {
                id: string;
            } | undefined;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        panelId: string;
        elements: {
            element: UIPanelElementCreateClonable;
            placement?: {
                after: string;
            } | {
                before: string;
            } | {
                at: "start" | "end";
            } | undefined;
            container?: "body" | "footer" | {
                id: string;
            } | undefined;
        }[];
    }, {
        panelId: string;
        elements: {
            element: UIPanelElementCreateClonable;
            placement?: {
                after: string;
            } | {
                before: string;
            } | {
                at: "start" | "end";
            } | undefined;
            container?: "body" | "footer" | {
                id: string;
            } | undefined;
        }[];
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        panelId: string;
        elements: {
            element: UIPanelElementCreateClonable;
            placement?: {
                after: string;
            } | {
                before: string;
            } | {
                at: "start" | "end";
            } | undefined;
            container?: "body" | "footer" | {
                id: string;
            } | undefined;
        }[];
    };
    type: "createPanelElements";
}, {
    params: {
        panelId: string;
        elements: {
            element: UIPanelElementCreateClonable;
            placement?: {
                after: string;
            } | {
                before: string;
            } | {
                at: "start" | "end";
            } | undefined;
            container?: "body" | "footer" | {
                id: string;
            } | undefined;
        }[];
    };
    type: "createPanelElements";
}>;
declare const UpdatePanelElementsMessage: z.ZodObject<{
    type: z.ZodLiteral<"updatePanelElements">;
    params: z.ZodObject<{
        panelId: z.ZodString;
        elements: z.ZodArray<z.ZodObject<{
            element: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<"Button">;
                label: z.ZodOptional<z.ZodString>;
                variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<["filled", "transparent", "outlined"]>>>;
                tint: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "primary", "accent", "danger"]>>>;
                disabled: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onClick: z.ZodOptional<z.ZodString>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "Button";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                disabled?: boolean | undefined;
                variant?: "filled" | "transparent" | "outlined" | undefined;
                tint?: "default" | "primary" | "accent" | "danger" | undefined;
                onClick?: string | undefined;
            }, {
                type: "Button";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                disabled?: boolean | undefined;
                variant?: "filled" | "transparent" | "outlined" | undefined;
                tint?: "default" | "primary" | "accent" | "danger" | undefined;
                onClick?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"Text">;
                content: z.ZodOptional<z.ZodString>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "Text";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                content?: string | undefined;
            }, {
                type: "Text";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                content?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"TextInput">;
                value: z.ZodOptional<z.ZodString>;
                placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onChange: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onBlur: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onFocus: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "TextInput";
                id: string;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
                onBlur?: string | undefined;
                onFocus?: string | undefined;
            }, {
                type: "TextInput";
                id: string;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
                onBlur?: string | undefined;
                onFocus?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"Select">;
                options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    label: z.ZodString;
                    value: z.ZodString;
                    disabled: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }, {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }>, "many">>;
                value: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                search: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
                label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onChange: z.ZodOptional<z.ZodString>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "Select";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                search?: boolean | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
            }, {
                type: "Select";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                search?: boolean | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"Divider">;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "Divider";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            }, {
                type: "Divider";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"FlexibleSpace">;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "FlexibleSpace";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            }, {
                type: "FlexibleSpace";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"ButtonRow">;
                align: z.ZodOptional<z.ZodOptional<z.ZodEnum<["start", "end"]>>>;
                label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                items: z.ZodOptional<z.ZodArray<z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
                    onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                        id: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        id: string;
                    }, {
                        id: string;
                    }>], z.ZodUnknown>, z.ZodVoid>>;
                    onDestroy: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                        id: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        id: string;
                    }, {
                        id: string;
                    }>], z.ZodUnknown>, z.ZodVoid>>;
                }, {
                    id: z.ZodString;
                }>, {
                    type: z.ZodLiteral<"Button">;
                    label: z.ZodString;
                    variant: z.ZodOptional<z.ZodEnum<["filled", "transparent", "outlined"]>>;
                    tint: z.ZodOptional<z.ZodEnum<["default", "primary", "accent", "danger"]>>;
                    disabled: z.ZodOptional<z.ZodBoolean>;
                    onClick: z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                        id: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        id: string;
                    }, {
                        id: string;
                    }>], z.ZodUnknown>, z.ZodVoid>;
                }>, {
                    id: z.ZodOptional<z.ZodString>;
                    onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                        id: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        id: string;
                    }, {
                        id: string;
                    }>], z.ZodUnknown>, z.ZodVoid>>;
                    onDestroy: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                        id: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        id: string;
                    }, {
                        id: string;
                    }>], z.ZodUnknown>, z.ZodVoid>>;
                }>, z.objectUtil.extendShape<{
                    id: z.ZodOptional<z.ZodString>;
                    onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                        id: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        id: string;
                    }, {
                        id: string;
                    }>], z.ZodUnknown>, z.ZodVoid>>;
                    onDestroy: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
                        id: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        id: string;
                    }, {
                        id: string;
                    }>], z.ZodUnknown>, z.ZodVoid>>;
                }, {
                    onCreate: z.ZodOptional<z.ZodString>;
                    onDestroy: z.ZodOptional<z.ZodString>;
                }>>, {
                    onClick: z.ZodString;
                }>, "strip", z.ZodTypeAny, {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }, {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }>, "many">>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "ButtonRow";
                id: string;
                align?: "start" | "end" | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                items?: {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }[] | undefined;
            }, {
                type: "ButtonRow";
                id: string;
                align?: "start" | "end" | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                items?: {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }[] | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"CheckboxGroup">;
                options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    label: z.ZodString;
                    value: z.ZodString;
                    disabled: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }, {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }>, "many">>;
                value: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onChange: z.ZodOptional<z.ZodString>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "CheckboxGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            }, {
                type: "CheckboxGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"RadioGroup">;
                options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    label: z.ZodString;
                    value: z.ZodString;
                    disabled: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }, {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }>, "many">>;
                value: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onChange: z.ZodOptional<z.ZodString>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "RadioGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            }, {
                type: "RadioGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"ToggleGroup">;
                alignment: z.ZodOptional<z.ZodOptional<z.ZodEnum<["start", "end"]>>>;
                options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    label: z.ZodString;
                    value: z.ZodString;
                    disabled: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }, {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }>, "many">>;
                value: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onChange: z.ZodOptional<z.ZodString>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "ToggleGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
                alignment?: "start" | "end" | undefined;
            }, {
                type: "ToggleGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
                alignment?: "start" | "end" | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"Iframe">;
                height: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
                url: z.ZodOptional<z.ZodString>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "Iframe";
                id: string;
                url?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                height?: string | number | undefined;
            }, {
                type: "Iframe";
                id: string;
                url?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                height?: string | number | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"Grid">;
                grid: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                verticalAlignment: z.ZodOptional<z.ZodOptional<z.ZodEnum<["top", "center", "bottom"]>>>;
                horizontalDistribution: z.ZodOptional<z.ZodOptional<z.ZodEnum<["start", "center", "end", "space-between", "space-around", "space-evenly"]>>>;
                id: z.ZodString;
                onCreate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                onDestroy: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                items: z.ZodOptional<z.ZodType<(UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[], z.ZodTypeDef, (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[]>>;
            }, z.UnknownKeysParam, z.ZodTypeAny, {
                type: "Grid";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                items?: (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[] | undefined;
                grid?: string | undefined;
                verticalAlignment?: "center" | "top" | "bottom" | undefined;
                horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
            }, {
                type: "Grid";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                items?: (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[] | undefined;
                grid?: string | undefined;
                verticalAlignment?: "center" | "top" | "bottom" | undefined;
                horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
            }>]>;
        }, "strip", z.ZodTypeAny, {
            element: {
                type: "Button";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                disabled?: boolean | undefined;
                variant?: "filled" | "transparent" | "outlined" | undefined;
                tint?: "default" | "primary" | "accent" | "danger" | undefined;
                onClick?: string | undefined;
            } | {
                type: "Text";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                content?: string | undefined;
            } | {
                type: "TextInput";
                id: string;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
                onBlur?: string | undefined;
                onFocus?: string | undefined;
            } | {
                type: "Select";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                search?: boolean | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "Divider";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "FlexibleSpace";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "ButtonRow";
                id: string;
                align?: "start" | "end" | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                items?: {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }[] | undefined;
            } | {
                type: "CheckboxGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "RadioGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "ToggleGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
                alignment?: "start" | "end" | undefined;
            } | {
                type: "Iframe";
                id: string;
                url?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                height?: string | number | undefined;
            } | {
                type: "Grid";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                items?: (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[] | undefined;
                grid?: string | undefined;
                verticalAlignment?: "center" | "top" | "bottom" | undefined;
                horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
            };
        }, {
            element: {
                type: "Button";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                disabled?: boolean | undefined;
                variant?: "filled" | "transparent" | "outlined" | undefined;
                tint?: "default" | "primary" | "accent" | "danger" | undefined;
                onClick?: string | undefined;
            } | {
                type: "Text";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                content?: string | undefined;
            } | {
                type: "TextInput";
                id: string;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
                onBlur?: string | undefined;
                onFocus?: string | undefined;
            } | {
                type: "Select";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                search?: boolean | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "Divider";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "FlexibleSpace";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "ButtonRow";
                id: string;
                align?: "start" | "end" | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                items?: {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }[] | undefined;
            } | {
                type: "CheckboxGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "RadioGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "ToggleGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
                alignment?: "start" | "end" | undefined;
            } | {
                type: "Iframe";
                id: string;
                url?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                height?: string | number | undefined;
            } | {
                type: "Grid";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                items?: (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[] | undefined;
                grid?: string | undefined;
                verticalAlignment?: "center" | "top" | "bottom" | undefined;
                horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
            };
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        panelId: string;
        elements: {
            element: {
                type: "Button";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                disabled?: boolean | undefined;
                variant?: "filled" | "transparent" | "outlined" | undefined;
                tint?: "default" | "primary" | "accent" | "danger" | undefined;
                onClick?: string | undefined;
            } | {
                type: "Text";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                content?: string | undefined;
            } | {
                type: "TextInput";
                id: string;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
                onBlur?: string | undefined;
                onFocus?: string | undefined;
            } | {
                type: "Select";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                search?: boolean | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "Divider";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "FlexibleSpace";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "ButtonRow";
                id: string;
                align?: "start" | "end" | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                items?: {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }[] | undefined;
            } | {
                type: "CheckboxGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "RadioGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "ToggleGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
                alignment?: "start" | "end" | undefined;
            } | {
                type: "Iframe";
                id: string;
                url?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                height?: string | number | undefined;
            } | {
                type: "Grid";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                items?: (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[] | undefined;
                grid?: string | undefined;
                verticalAlignment?: "center" | "top" | "bottom" | undefined;
                horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
            };
        }[];
    }, {
        panelId: string;
        elements: {
            element: {
                type: "Button";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                disabled?: boolean | undefined;
                variant?: "filled" | "transparent" | "outlined" | undefined;
                tint?: "default" | "primary" | "accent" | "danger" | undefined;
                onClick?: string | undefined;
            } | {
                type: "Text";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                content?: string | undefined;
            } | {
                type: "TextInput";
                id: string;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
                onBlur?: string | undefined;
                onFocus?: string | undefined;
            } | {
                type: "Select";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                search?: boolean | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "Divider";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "FlexibleSpace";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "ButtonRow";
                id: string;
                align?: "start" | "end" | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                items?: {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }[] | undefined;
            } | {
                type: "CheckboxGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "RadioGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "ToggleGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
                alignment?: "start" | "end" | undefined;
            } | {
                type: "Iframe";
                id: string;
                url?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                height?: string | number | undefined;
            } | {
                type: "Grid";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                items?: (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[] | undefined;
                grid?: string | undefined;
                verticalAlignment?: "center" | "top" | "bottom" | undefined;
                horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
            };
        }[];
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        panelId: string;
        elements: {
            element: {
                type: "Button";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                disabled?: boolean | undefined;
                variant?: "filled" | "transparent" | "outlined" | undefined;
                tint?: "default" | "primary" | "accent" | "danger" | undefined;
                onClick?: string | undefined;
            } | {
                type: "Text";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                content?: string | undefined;
            } | {
                type: "TextInput";
                id: string;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
                onBlur?: string | undefined;
                onFocus?: string | undefined;
            } | {
                type: "Select";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                search?: boolean | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "Divider";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "FlexibleSpace";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "ButtonRow";
                id: string;
                align?: "start" | "end" | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                items?: {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }[] | undefined;
            } | {
                type: "CheckboxGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "RadioGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "ToggleGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
                alignment?: "start" | "end" | undefined;
            } | {
                type: "Iframe";
                id: string;
                url?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                height?: string | number | undefined;
            } | {
                type: "Grid";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                items?: (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[] | undefined;
                grid?: string | undefined;
                verticalAlignment?: "center" | "top" | "bottom" | undefined;
                horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
            };
        }[];
    };
    type: "updatePanelElements";
}, {
    params: {
        panelId: string;
        elements: {
            element: {
                type: "Button";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                disabled?: boolean | undefined;
                variant?: "filled" | "transparent" | "outlined" | undefined;
                tint?: "default" | "primary" | "accent" | "danger" | undefined;
                onClick?: string | undefined;
            } | {
                type: "Text";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                content?: string | undefined;
            } | {
                type: "TextInput";
                id: string;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
                onBlur?: string | undefined;
                onFocus?: string | undefined;
            } | {
                type: "Select";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                search?: boolean | undefined;
                placeholder?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "Divider";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "FlexibleSpace";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
            } | {
                type: "ButtonRow";
                id: string;
                align?: "start" | "end" | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                items?: {
                    type: "Button";
                    label: string;
                    onClick: string;
                    id?: string | undefined;
                    onCreate?: string | undefined;
                    onDestroy?: string | undefined;
                    disabled?: boolean | undefined;
                    variant?: "filled" | "transparent" | "outlined" | undefined;
                    tint?: "default" | "primary" | "accent" | "danger" | undefined;
                }[] | undefined;
            } | {
                type: "CheckboxGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "RadioGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
            } | {
                type: "ToggleGroup";
                id: string;
                options?: {
                    value: string;
                    label: string;
                    disabled?: boolean | undefined;
                }[] | undefined;
                value?: string[] | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                label?: string | undefined;
                onChange?: string | undefined;
                alignment?: "start" | "end" | undefined;
            } | {
                type: "Iframe";
                id: string;
                url?: string | undefined;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                height?: string | number | undefined;
            } | {
                type: "Grid";
                id: string;
                onCreate?: string | undefined;
                onDestroy?: string | undefined;
                items?: (UIButtonElementCreateClonable | MakeClonableSchema<UITextElementCreate> | MakeClonableSchema<UIDividerElementCreate> | MakeClonableSchema<UITextInputElementCreate> | MakeClonableSchema<UISelectElementCreate> | MakeClonableSchema<UIFlexibleSpaceElementCreate> | UIButtonRowElementCreateClonable | MakeClonableSchema<UICheckboxGroupElementCreate> | MakeClonableSchema<UIRadioGroupElementCreate> | MakeClonableSchema<UIToggleGroupElementCreate> | MakeClonableSchema<UIIframeElementCreate>)[] | undefined;
                grid?: string | undefined;
                verticalAlignment?: "center" | "top" | "bottom" | undefined;
                horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
            };
        }[];
    };
    type: "updatePanelElements";
}>;
declare const DeletePanelElementsMessage: z.ZodObject<{
    type: z.ZodLiteral<"deletePanelElements">;
    params: z.ZodObject<{
        panelId: z.ZodString;
        elements: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        panelId: string;
        elements: string[];
    }, {
        panelId: string;
        elements: string[];
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        panelId: string;
        elements: string[];
    };
    type: "deletePanelElements";
}, {
    params: {
        panelId: string;
        elements: string[];
    };
    type: "deletePanelElements";
}>;
declare const UiControlsMessage: z.ZodObject<{
    type: z.ZodLiteral<"updateUiControls">;
    params: z.ZodObject<{
        showLegend: z.ZodOptional<z.ZodBoolean>;
        cooperativeGestures: z.ZodOptional<z.ZodBoolean>;
        fullScreenButton: z.ZodOptional<z.ZodBoolean>;
        geolocation: z.ZodOptional<z.ZodBoolean>;
        zoomControls: z.ZodOptional<z.ZodBoolean>;
        scaleBar: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        showLegend?: boolean | undefined;
        cooperativeGestures?: boolean | undefined;
        fullScreenButton?: boolean | undefined;
        geolocation?: boolean | undefined;
        zoomControls?: boolean | undefined;
        scaleBar?: boolean | undefined;
    }, {
        showLegend?: boolean | undefined;
        cooperativeGestures?: boolean | undefined;
        fullScreenButton?: boolean | undefined;
        geolocation?: boolean | undefined;
        zoomControls?: boolean | undefined;
        scaleBar?: boolean | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        showLegend?: boolean | undefined;
        cooperativeGestures?: boolean | undefined;
        fullScreenButton?: boolean | undefined;
        geolocation?: boolean | undefined;
        zoomControls?: boolean | undefined;
        scaleBar?: boolean | undefined;
    };
    type: "updateUiControls";
}, {
    params: {
        showLegend?: boolean | undefined;
        cooperativeGestures?: boolean | undefined;
        fullScreenButton?: boolean | undefined;
        geolocation?: boolean | undefined;
        zoomControls?: boolean | undefined;
        scaleBar?: boolean | undefined;
    };
    type: "updateUiControls";
}>;
declare const OnMapInteractionsMessage: z.ZodObject<{
    type: z.ZodLiteral<"setOnMapInteractionsUi">;
    params: z.ZodObject<{
        featureSelectPanel: z.ZodOptional<z.ZodBoolean>;
        featureHoverPanel: z.ZodOptional<z.ZodBoolean>;
        elementSelectPanel: z.ZodOptional<z.ZodBoolean>;
        linkClickOpen: z.ZodOptional<z.ZodBoolean>;
        imageLightboxOpen: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        featureSelectPanel?: boolean | undefined;
        featureHoverPanel?: boolean | undefined;
        elementSelectPanel?: boolean | undefined;
        linkClickOpen?: boolean | undefined;
        imageLightboxOpen?: boolean | undefined;
    }, {
        featureSelectPanel?: boolean | undefined;
        featureHoverPanel?: boolean | undefined;
        elementSelectPanel?: boolean | undefined;
        linkClickOpen?: boolean | undefined;
        imageLightboxOpen?: boolean | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        featureSelectPanel?: boolean | undefined;
        featureHoverPanel?: boolean | undefined;
        elementSelectPanel?: boolean | undefined;
        linkClickOpen?: boolean | undefined;
        imageLightboxOpen?: boolean | undefined;
    };
    type: "setOnMapInteractionsUi";
}, {
    params: {
        featureSelectPanel?: boolean | undefined;
        featureHoverPanel?: boolean | undefined;
        elementSelectPanel?: boolean | undefined;
        linkClickOpen?: boolean | undefined;
        imageLightboxOpen?: boolean | undefined;
    };
    type: "setOnMapInteractionsUi";
}>;
declare const ShowLayerDataTableMessage: z.ZodObject<{
    type: z.ZodLiteral<"showLayerDataTable">;
    params: z.ZodOptional<z.ZodObject<{
        layerId: z.ZodString;
        sorting: z.ZodOptional<z.ZodObject<{
            attribute: z.ZodString;
            direction: z.ZodEnum<["asc", "desc"]>;
        }, "strip", z.ZodTypeAny, {
            attribute: string;
            direction: "asc" | "desc";
        }, {
            attribute: string;
            direction: "asc" | "desc";
        }>>;
    }, "strip", z.ZodTypeAny, {
        layerId: string;
        sorting?: {
            attribute: string;
            direction: "asc" | "desc";
        } | undefined;
    }, {
        layerId: string;
        sorting?: {
            attribute: string;
            direction: "asc" | "desc";
        } | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "showLayerDataTable";
    params?: {
        layerId: string;
        sorting?: {
            attribute: string;
            direction: "asc" | "desc";
        } | undefined;
    } | undefined;
}, {
    type: "showLayerDataTable";
    params?: {
        layerId: string;
        sorting?: {
            attribute: string;
            direction: "asc" | "desc";
        } | undefined;
    } | undefined;
}>;
declare const HideLayerDataTableMessage: z.ZodObject<{
    type: z.ZodLiteral<"hideLayerDataTable">;
    params: z.ZodUndefined;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "hideLayerDataTable";
    params?: undefined;
}, {
    type: "hideLayerDataTable";
    params?: undefined;
}>;
type UiSchema = {
    methods: {
        createActionTrigger: Method<zInfer<typeof CreateActionTriggerMessage>, zInfer<typeof uiActionTriggerSchema.clonable>>;
        updateActionTrigger: Method<zInfer<typeof UpdateActionTriggerMessage>, zInfer<typeof uiActionTriggerSchema.clonable>>;
        deleteActionTrigger: Method<zInfer<typeof DeleteActionTriggerMessage>>;
        createFeatureAction: Method<zInfer<typeof CreateFeatureActionMessage>, zInfer<typeof uiFeatureActionSchema.clonable>>;
        updateFeatureAction: Method<zInfer<typeof UpdateFeatureActionMessage>, zInfer<typeof uiFeatureActionSchema.clonable>>;
        deleteFeatureAction: Method<zInfer<typeof DeleteFeatureActionMessage>>;
        createPanelId: Method<zInfer<typeof CreatePanelIdMessage>>;
        createOrUpdatePanel: Method<zInfer<typeof CreateOrUpdatePanelMessage>, zInfer<typeof uiPanelCreateSchema.clonable>>;
        deletePanel: Method<zInfer<typeof DeletePanelMessage>>;
        createPanelElements: Method<zInfer<typeof CreatePanelElementsMessage>, zInfer<typeof uiPanelCreateSchema.clonable>>;
        updatePanelElements: Method<zInfer<typeof UpdatePanelElementsMessage>, zInfer<typeof uiPanelCreateSchema.clonable>>;
        deletePanelElements: Method<zInfer<typeof DeletePanelElementsMessage>>;
        updateUiControls: Method<zInfer<typeof UiControlsMessage>>;
        setOnMapInteractionsUi: Method<zInfer<typeof OnMapInteractionsMessage>>;
        showLayerDataTable: Method<zInfer<typeof ShowLayerDataTableMessage>>;
        hideLayerDataTable: Method<zInfer<typeof HideLayerDataTableMessage>>;
    };
    listeners: {};
};

declare const GetViewportMessage: z.ZodObject<{
    type: z.ZodLiteral<"getViewport">;
    params: z.ZodUndefined;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getViewport";
    params?: undefined;
}, {
    type: "getViewport";
    params?: undefined;
}>;
declare const GotoViewportMessage: z.ZodObject<{
    type: z.ZodLiteral<"setViewport">;
    params: z.ZodObject<{
        center: z.ZodOptional<z.ZodObject<{
            latitude: z.ZodNumber;
            longitude: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            latitude: number;
            longitude: number;
        }, {
            latitude: number;
            longitude: number;
        }>>;
        zoom: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        center?: {
            latitude: number;
            longitude: number;
        } | undefined;
        zoom?: number | undefined;
    }, {
        center?: {
            latitude: number;
            longitude: number;
        } | undefined;
        zoom?: number | undefined;
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        center?: {
            latitude: number;
            longitude: number;
        } | undefined;
        zoom?: number | undefined;
    };
    type: "setViewport";
}, {
    params: {
        center?: {
            latitude: number;
            longitude: number;
        } | undefined;
        zoom?: number | undefined;
    };
    type: "setViewport";
}>;
declare const GetViewportConstraintsMessage: z.ZodObject<{
    type: z.ZodLiteral<"getViewportConstraints">;
    params: z.ZodUndefined;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    type: "getViewportConstraints";
    params?: undefined;
}, {
    type: "getViewportConstraints";
    params?: undefined;
}>;
declare const SetViewportConstraintsMessage: z.ZodObject<{
    type: z.ZodLiteral<"setViewportConstraints">;
    params: z.ZodNullable<z.ZodObject<{
        minZoom: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        maxZoom: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        bounds: z.ZodOptional<z.ZodNullable<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
    }, "strip", z.ZodTypeAny, {
        minZoom?: number | null | undefined;
        maxZoom?: number | null | undefined;
        bounds?: [number, number, number, number] | null | undefined;
    }, {
        minZoom?: number | null | undefined;
        maxZoom?: number | null | undefined;
        bounds?: [number, number, number, number] | null | undefined;
    }>>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        minZoom?: number | null | undefined;
        maxZoom?: number | null | undefined;
        bounds?: [number, number, number, number] | null | undefined;
    } | null;
    type: "setViewportConstraints";
}, {
    params: {
        minZoom?: number | null | undefined;
        maxZoom?: number | null | undefined;
        bounds?: [number, number, number, number] | null | undefined;
    } | null;
    type: "setViewportConstraints";
}>;
declare const ViewportFitBoundsMessage: z.ZodObject<{
    type: z.ZodLiteral<"fitViewportToBounds">;
    params: z.ZodObject<{
        bounds: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
    }, "strip", z.ZodTypeAny, {
        bounds: [number, number, number, number];
    }, {
        bounds: [number, number, number, number];
    }>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    params: {
        bounds: [number, number, number, number];
    };
    type: "fitViewportToBounds";
}, {
    params: {
        bounds: [number, number, number, number];
    };
    type: "fitViewportToBounds";
}>;
type ViewportSchema = {
    methods: {
        getViewport: Method<zInfer<typeof GetViewportMessage>>;
        setViewport: Method<zInfer<typeof GotoViewportMessage>>;
        getViewportConstraints: Method<zInfer<typeof GetViewportConstraintsMessage>>;
        setViewportConstraints: Method<zInfer<typeof SetViewportConstraintsMessage>>;
        fitViewportToBounds: Method<zInfer<typeof ViewportFitBoundsMessage>>;
    };
    listeners: {
        onViewportMove: ListenerNoOptions<ViewportState>;
        onViewportMoveEnd: ListenerNoOptions<ViewportState>;
        onMapIdle: ListenerNoOptions<void>;
    };
};

type AllModules = UiSchema | ViewportSchema | LayersSchema | ElementsSchema | SelectionSchema | InteractionsSchema | ToolsSchema | InteractionsSchema | MiscSchema | BasemapsSchema;

type FeltHandlers = {
    methods: FeltMethodHandlers;
    listeners: FeltListenerHandlers;
};
type MethodSpec = UnionToIntersection<AllModules["methods"]>;
type ListenerSpec = UnionToIntersection<AllModules["listeners"]> & {
    onGenericEvent: Listener<{
        id: string;
    }, void>;
};
type ExtractMethodParams<T extends Record<string, AnyFunction | {
    request: {
        params?: any;
    };
    response: any;
}>> = {
    [K in keyof T]: T[K] extends {
        request: {
            params?: any;
        };
        response: any;
    } ? {
        request: T[K]["request"]["params"];
        response: T[K]["response"];
    } : T[K];
};
type ExtractListenerParams<T extends Record<string, {
    options: any;
    eventParams: any;
} | {
    eventParams: any;
}>> = {
    [K in keyof T]: T[K] extends {
        options: any;
    } ? {
        options: T[K]["options"];
        eventParams: T[K]["eventParams"];
    } : {
        eventParams: T[K]["eventParams"];
    };
};
type AnyFunction = (...args: any[]) => any;
type MethodHandlers<T> = {
    [K in keyof T]: T[K] extends AnyFunction ? T[K] : (request: T[K] extends {
        request: any;
    } ? T[K]["request"] : never) => PromiseOrNot<T[K] extends {
        response: any;
    } ? T[K]["response"] : never>;
};
type FeltMethodHandlers = MethodHandlers<ExtractMethodParams<MethodSpec>>;
type ListenerHandlers<T> = {
    [K in keyof T]: (args: T[K] extends {
        options: any;
    } ? {
        handler: (event: T[K] extends {
            eventParams: any;
        } ? T[K]["eventParams"] : never) => void;
        options: T[K]["options"];
    } : {
        handler: (event: T[K] extends {
            eventParams: any;
        } ? T[K]["eventParams"] : never) => void;
    }) => VoidFunction;
};
type FeltListenerHandlers = ListenerHandlers<ExtractListenerParams<ListenerSpec>>;

/**
 * This function creates a message handler for the Felt SDK. Its job is to start listening
 * for messages from the Felt SDKl, validate and parses the messages before calling the
 * appropriate handler.
 *
 * @param feltWindow - The window to listen on, which is typically just `window`
 * @param handlers - The handlers to call for each type of message.
 * @param options - Optional callbacks for handling unknown and invalid messages.
 * @returns A function to stop the message handler.
 */
declare function createMessageHandler(feltWindow: Window, handlers: FeltHandlers, options?: {
    /**
     * Called when a message is received of an unknown type.
     *
     * @param message - The message that was received.
     */
    onUnknownMessage?: (message: unknown) => void;
    /**
     * Called when a message is received that matches a known
     * type, but fails to parse with the full schema.
     *
     * @param message
     */
    onInvalidMessage?: (message: unknown, error: ZodError) => void;
}): VoidFunction;

export { createMessageHandler };
