/// <reference types="react" />
import { BasicEventParameters } from "./basic";
import { CharacterEventParameters } from "./characters";
import { DollEventParameters } from "./dolls";
import { SceneEventParameters } from "./scene";
export declare const prendyEventGroups: {
    basicEvents: {
        wait: import("repond-events").EventTypeDefinition<{
            time: number;
        }>;
        log: import("repond-events").EventTypeDefinition<{
            text: string;
        }>;
        setState: import("repond-events").EventTypeDefinition<{
            state: import("repond").GetPartialState<import("repond").AllState> | ((state: {
                readonly [x: string]: {
                    readonly [x: string]: any;
                };
                readonly [x: number]: {
                    readonly [x: string]: any;
                };
            }) => import("repond").GetPartialState<import("repond").AllState> | undefined);
        }>;
        runEventsIf: import("repond-events").EventTypeDefinition<{
            state: import("repond").StatePath<any>;
            events: [string, string, Record<any, any> | undefined, Record<any, any> | undefined][] | undefined;
            elseEvents: [string, string, Record<any, any> | undefined, Record<any, any> | undefined][] | undefined;
        }>;
    };
    characterEvents: {
        setAnimation: import("repond-events").EventTypeDefinition<{
            who: string;
            to: string;
        }>;
        setPosition: import("repond-events").EventTypeDefinition<{
            who: string;
            to: import("@babylonjs/core").Vector3;
        }>;
        setRotationY: import("repond-events").EventTypeDefinition<{
            who: string;
            to: number;
        }>;
        springRotation: import("repond-events").EventTypeDefinition<{
            who: string;
            to: number;
        }>;
        springAddToRotationY: import("repond-events").EventTypeDefinition<{
            who: string;
            addedRotation: number;
        }>;
        lookAtOther: import("repond-events").EventTypeDefinition<{
            whoA: string;
            whoB: string;
        }>;
        lookAtEachother: import("repond-events").EventTypeDefinition<{
            whoA: string;
            whoB: string;
        }>;
        lookAtSpot: import("repond-events").EventTypeDefinition<{
            place: string;
            spot: string;
            who: string | undefined;
        }>;
        moveAt2DAngle: import("repond-events").EventTypeDefinition<{
            who: string;
            angle: number;
        }>;
    };
    dollEvents: {
        setPosition: import("repond-events").EventTypeDefinition<{
            which: string;
            to: import("@babylonjs/core").Vector3;
        }>;
        springPosition: import("repond-events").EventTypeDefinition<{
            which: string;
            to: import("@babylonjs/core").Vector3;
        }>;
        slidePosition: import("repond-events").EventTypeDefinition<{
            which: string;
            to: import("@babylonjs/core").Vector3;
        }>;
        setRotation: import("repond-events").EventTypeDefinition<{
            which: string;
            to: import("@babylonjs/core").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<Record<string, boolean>>;
        }>;
    };
    playerEvents: {
        enableMovement: import("repond-events").EventTypeDefinition<{
            canMove: boolean | undefined;
            revertDelay: number | undefined;
        }>;
        takePickup: import("repond-events").EventTypeDefinition<{
            which: string;
            toHolding: boolean | undefined;
        }>;
        setAnimations: import("repond-events").EventTypeDefinition<{
            animations: {
                walking: string;
                idle: string;
            };
        }>;
    };
    sceneEvents: {
        changeSegmentAtLoop: import("repond-events").EventTypeDefinition<{
            place: string;
            segment: string;
        }>;
        changeCameraAtLoop: import("repond-events").EventTypeDefinition<{
            place: string;
            cam: string;
        }>;
        hideWall: import("repond-events").EventTypeDefinition<{
            place: string;
            wall: string;
            unhide: boolean | undefined;
        }>;
        showStoryView: import("repond-events").EventTypeDefinition<{
            hide: boolean | undefined;
        }>;
        setSegment: import("repond-events").EventTypeDefinition<{
            place: string;
            segment: string;
        }>;
        setCamera: import("repond-events").EventTypeDefinition<{
            place: string;
            cam: string;
            whenToRun: "now" | "at loop" | undefined;
        }>;
        canTriggerCamera: import("repond-events").EventTypeDefinition<{
            place: string;
            cam: string;
            whenToRun: "now" | "at loop" | undefined;
        }>;
        goToNewPlace: import("repond-events").EventTypeDefinition<{
            toOption: {
                toPlace: string;
                toSpot?: string | undefined;
                toPositon?: import("chootils/dist/points3d").Point3D | undefined;
                toCam?: string | undefined;
                toSegment?: string | undefined;
            };
            who: string | undefined;
        }>;
    };
    soundEvents: {
        playSound: import("repond-events").EventTypeDefinition<{
            which: string;
            loop: boolean | undefined;
        }>;
        stopSound: import("repond-events").EventTypeDefinition<{
            which: string;
        }>;
        stopAllSounds: import("repond-events").EventTypeDefinition<{}>;
        playNewMusic: import("repond-events").EventTypeDefinition<{
            which: string;
        }>;
        stopAllMusic: import("repond-events").EventTypeDefinition<{}>;
    };
    speechEvents: {
        say: import("repond-events").EventTypeDefinition<{
            what: string;
            time: number | undefined;
            showOnce: boolean | undefined;
            who: string | undefined;
            zoomAmount: number | undefined;
            lookAtPlayer: boolean | undefined;
            returnToZoomBeforeConversation: boolean | undefined;
            stylesBySpecialText: Record<string, import("react").CSSProperties> | undefined;
        }>;
        hideSay: import("repond-events").EventTypeDefinition<{
            who: string;
        }>;
        resetCameraFocus: import("repond-events").EventTypeDefinition<{
            who: string;
            returnToZoomBeforeConversation: boolean | undefined;
        }>;
        think: import("repond-events").EventTypeDefinition<{
            what: string;
            who: string | undefined;
            time: number | undefined;
        }>;
        hideThink: import("repond-events").EventTypeDefinition<{
            who: string | undefined;
        }>;
        showTitle: import("repond-events").EventTypeDefinition<{
            text: string;
            time: number | undefined;
        }>;
        hideTitle: import("repond-events").EventTypeDefinition<{}>;
    };
    stickerEvents: {
        moveSticker: import("repond-events").EventTypeDefinition<{
            x: number;
            y: number;
        }>;
        showSticker: import("repond-events").EventTypeDefinition<{}>;
        hideSticker: import("repond-events").EventTypeDefinition<{}>;
    };
};
export type PrendyEventParameters<T_Group, T_Event, T_GenericParamA> = BasicEventParameters<T_Group, T_Event, T_GenericParamA> | CharacterEventParameters<T_Group, T_Event, T_GenericParamA> | DollEventParameters<T_Group, T_Event, T_GenericParamA> | SceneEventParameters<T_Group, T_Event, T_GenericParamA>;
