import { Vector3 } from "@babylonjs/core"; import { AnimationNameByModel, DollName, DollOptions, MeshNameByModel, PlaceName, SpotNameByPlace } from "../types"; type ModelNameFromDoll = DollOptions[T_DollName]["model"]; type MeshNamesFromDoll = MeshNameByModel[ModelNameFromDoll]; export declare const dollEvents: { setPosition: import("repond-events").EventTypeDefinition<{ which: string; to: Vector3; }>; springPosition: import("repond-events").EventTypeDefinition<{ which: string; to: Vector3; }>; slidePosition: import("repond-events").EventTypeDefinition<{ which: string; to: Vector3; }>; setRotation: import("repond-events").EventTypeDefinition<{ which: string; to: Vector3; }>; lookAtOtherDoll: import("repond-events").EventTypeDefinition<{ whichA: string; whichB: string; }>; lookAtSpot: import("repond-events").EventTypeDefinition<{ place: string; spot: string; which: string; }>; setRotationY: import("repond-events").EventTypeDefinition<{ which: string; to: number; }>; springRotationY: import("repond-events").EventTypeDefinition<{ which: string; to: number; }>; springAddToRotationY: import("repond-events").EventTypeDefinition<{ which: string; degrees: number; useShortestAngle: boolean | undefined; }>; setAnimation: import("repond-events").EventTypeDefinition<{ which: string; to: string; }>; focusOn: import("repond-events").EventTypeDefinition<{ which: string; zoom: number | undefined; }>; setToSpot: import("repond-events").EventTypeDefinition<{ which: string; place: string; spot: string; dontSetRotationState: boolean | undefined; }>; springToSpot: import("repond-events").EventTypeDefinition<{ place: string; spot: string; which: string; }>; moveAt2DAngle: import("repond-events").EventTypeDefinition<{ which: string; angle: number; speed: number; }>; pushRotationY: import("repond-events").EventTypeDefinition<{ which: string; direction: "right" | "left"; speed: number; }>; hide: import("repond-events").EventTypeDefinition<{ which: string; shouldHide: boolean | undefined; }>; toggleMeshes: import("repond-events").EventTypeDefinition<{ which: string; toggledMeshes: Partial>; }>; }; type DollLookAtSpotParams = { which: DollName; place: T_Place; to: SpotNameByPlace[T_Place]; }; type DollSetAnimationParams = { which: DollName; to: AnimationNameByModel[ModelNameFromDoll]; }; type DollSetToSpotParams = { which: DollName; place: T_Place; spot: SpotNameByPlace[T_Place]; dontSetRotationState?: boolean; }; type DollSpringToSpotParams = { which: DollName; place: T_Place; spot: SpotNameByPlace[T_Place]; }; type ToggleMeshesParams = { which: T_Doll; toggledMeshes: Partial, boolean>>; }; export type DollEventParameters = T_Group extends "doll" ? T_Event extends "lookAtSpot" ? DollLookAtSpotParams : T_Event extends "setAnimation" ? DollSetAnimationParams : T_Event extends "setToSpot" ? DollSetToSpotParams : T_Event extends "springToSpot" ? DollSpringToSpotParams : T_Event extends "toggleMeshes" ? ToggleMeshesParams : never : never; export {};