@itk-viewer/element
Version:
Web Component for multi-dimensional viewer
810 lines (809 loc) • 334 kB
TypeScript
import { View3dActor } from '@itk-viewer/viewer/view-3d.js';
import { LitElement } from 'lit';
import { SelectorController } from 'xstate-lit';
import { Camera } from '@itk-viewer/viewer/camera.js';
import './itk-view-3d-vtkjs.js';
import './itk-camera.js';
type Actor = View3dActor;
type Renderer = 'vtkjs' | 'slot';
export declare class ItkView3d extends LitElement {
renderer: Renderer;
actor: Actor | undefined;
scale: SelectorController<Actor, number> | undefined;
scaleCount: SelectorController<Actor, number> | undefined;
cameraActor: SelectorController<Actor, Camera | undefined> | undefined;
dispatched: boolean;
setActor(actor: Actor): void;
getActor(): import("xstate").ActorRef<import("xstate").MachineSnapshot<{
spawned: import("xstate").AnyActorRef[];
scale: number;
image?: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
imageActor?: import("@itk-viewer/viewer/image.js").Image;
viewport?: import("@itk-viewer/viewer/viewport.js").ViewportActor;
camera?: Camera;
autoCameraReset: boolean;
}, import("@itk-viewer/viewer/children.js").CreateChild | {
type: "setImage";
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
} | {
type: "setScale";
scale: number;
} | {
type: "createRenderer";
logic: import("xstate").AnyActorLogic;
} | {
type: "setViewport";
viewport: import("@itk-viewer/viewer/viewport.js").ViewportActor;
} | {
type: "setResolution";
resolution: [number, number];
} | {
type: "setCamera";
camera: Camera;
} | {
type: "setAutoCameraReset";
enableReset: boolean;
}, {
[x: string]: import("xstate").ActorRef<import("xstate").MachineSnapshot<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, {}, "active", string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject, {
readonly id: "image";
readonly initial: "active";
readonly context: ({ input: image }: {
spawn: {
<TSrc extends never>(logic: TSrc, ...[options]: never): never;
<TLogic extends import("xstate").AnyActorLogic>(src: TLogic, options?: {
id?: never;
systemId?: string;
input?: import("xstate").InputFrom<TLogic> | undefined;
syncSnapshot?: boolean;
} | undefined): import("xstate").ActorRefFrom<TLogic>;
};
input: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
self: import("xstate").ActorRef<import("xstate").MachineSnapshot<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, Record<string, import("xstate").AnyActorRef | undefined>, import("xstate").StateValue, string, unknown, any, any>, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, import("xstate").AnyEventObject>;
}) => {
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: never[];
colorRanges: never[];
normalizedColorRanges: never[];
colorMaps: never[];
opacityPoints: never[];
normalizedOpacityPoints: never[];
};
readonly states: {
readonly active: {
readonly on: {
readonly builtImage: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, "updateNormalizedColorRanges", "updateNormalizedOpacityPoints", "ensureComponentDefaults"];
};
readonly colorRange: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "colorRange";
range: readonly [number, number];
component: number;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, "updateNormalizedColorRanges"];
};
readonly normalizedColorRange: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, "updateColorRanges"];
};
readonly opacityPoints: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, "updateNormalizedOpacityPoints"];
};
readonly normalizedOpacityPoints: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, "updateOpacityPoints"];
};
readonly colorMap: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "colorMap";
colorMap: string;
component: number;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>];
};
};
};
};
}>, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").PromiseSnapshot<import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage, {
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
scale: number;
}>, {
[k: string]: unknown;
type: string;
}, import("xstate").EventObject> | undefined;
}, {
active?: "idle" | "buildingImage" | undefined;
}, string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject, {
readonly context: () => {
scale: number;
spawned: never[];
autoCameraReset: true;
};
readonly id: "view3d";
readonly initial: "active";
readonly states: {
readonly active: {
readonly on: {
readonly createChild: {
readonly actions: readonly [import("xstate").ActionFunction<{
spawned: import("xstate").AnyActorRef[];
scale: number;
image?: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
imageActor?: import("@itk-viewer/viewer/image.js").Image;
viewport?: import("@itk-viewer/viewer/viewport.js").ViewportActor;
camera?: Camera;
autoCameraReset: boolean;
}, import("@itk-viewer/viewer/children.js").CreateChild, import("@itk-viewer/viewer/children.js").CreateChild | {
type: "setImage";
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
} | {
type: "setScale";
scale: number;
} | {
type: "createRenderer";
logic: import("xstate").AnyActorLogic;
} | {
type: "setViewport";
viewport: import("@itk-viewer/viewer/viewport.js").ViewportActor;
} | {
type: "setResolution";
resolution: [number, number];
} | {
type: "setCamera";
camera: Camera;
} | {
type: "setAutoCameraReset";
enableReset: boolean;
}, undefined, import("xstate").Values<{
image: {
src: "image";
logic: import("xstate").StateMachine<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, {}, never, import("xstate").Values<{
updateColorRanges: {
type: "updateColorRanges";
params: import("xstate").NonReducibleUnknown;
};
updateNormalizedColorRanges: {
type: "updateNormalizedColorRanges";
params: import("xstate").NonReducibleUnknown;
};
updateOpacityPoints: {
type: "updateOpacityPoints";
params: import("xstate").NonReducibleUnknown;
};
updateNormalizedOpacityPoints: {
type: "updateNormalizedOpacityPoints";
params: import("xstate").NonReducibleUnknown;
};
ensureComponentDefaults: {
type: "ensureComponentDefaults";
params: import("xstate").NonReducibleUnknown;
};
}>, never, never, "active", string, import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
readonly id: "image";
readonly initial: "active";
readonly context: ({ input: image }: {
spawn: {
<TSrc extends never>(logic: TSrc, ...[options]: never): never;
<TLogic extends import("xstate").AnyActorLogic>(src: TLogic, options?: {
id?: never;
systemId?: string;
input?: import("xstate").InputFrom<TLogic> | undefined;
syncSnapshot?: boolean;
} | undefined): import("xstate").ActorRefFrom<TLogic>;
};
input: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
self: import("xstate").ActorRef<import("xstate").MachineSnapshot<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, Record<string, import("xstate").AnyActorRef | undefined>, import("xstate").StateValue, string, unknown, any, any>, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, import("xstate").AnyEventObject>;
}) => {
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: never[];
colorRanges: never[];
normalizedColorRanges: never[];
colorMaps: never[];
opacityPoints: never[];
normalizedOpacityPoints: never[];
};
readonly states: {
readonly active: {
readonly on: {
readonly builtImage: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, "updateNormalizedColorRanges", "updateNormalizedOpacityPoints", "ensureComponentDefaults"];
};
readonly colorRange: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "colorRange";
range: readonly [number, number];
component: number;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";
builtImage: import("@itk-viewer/io/MultiscaleSpatialImage.js").BuiltImage;
} | {
type: "colorRange";
range: readonly [number, number];
component: number;
} | {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
} | {
type: "opacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "normalizedOpacityPoints";
points: (readonly [number, number])[];
component: number;
} | {
type: "colorMap";
colorMap: string;
component: number;
}, undefined, never, never, never, never, never>, "updateNormalizedColorRanges"];
};
readonly normalizedColorRange: {
readonly actions: readonly [import("xstate").ActionFunction<{
image: import("@itk-viewer/io/MultiscaleSpatialImage.js").MultiscaleSpatialImage;
dataRanges: import("@itk-viewer/io/types.js").Ranges;
colorRanges: import("@itk-viewer/io/types.js").Ranges;
normalizedColorRanges: import("@itk-viewer/io/types.js").Ranges;
colorMaps: string[];
opacityPoints: (readonly [number, number])[][];
normalizedOpacityPoints: (readonly [number, number])[][];
}, {
type: "normalizedColorRange";
range: readonly [number, number];
component: number;
}, {
type: "getWorker";
receiver: import("xstate").AnyActorRef;
} | {
type: "builtImage";