/// <reference types="node" />
import { CSSProperties } from "react";
import { MyTypes } from "../declarations";
import { FontName, CharacterName } from "../types";
export default function speechBubbles<T_MyTypes extends MyTypes = MyTypes>(prendyAssets: T_MyTypes["Assets"]): {
    getDefaultState: <T_ItemName extends string>(_itemId: T_ItemName, options?: {
        font?: FontName;
        character?: CharacterName;
    }) => {
        isVisible: boolean;
        isFullyHidden: boolean;
        goalText: string;
        visibleLetterAmount: number;
        typingSpeed: number;
        stylesBySpecialText: Record<string, CSSProperties>;
        _specialTextByLetterIndex: Record<number, string>;
        _goalTextWordLetterArrays: string[][];
        forCharacter: string | null;
        position: import("chootils/dist/points2d").Point2D;
        typingFinished: boolean;
        nowVideoName: string | null;
        font: string;
        zIndex: number;
    };
    getDefaultRefs: () => {
        bubbleRef: any;
        textRef: any;
        currentTimeout: NodeJS.Timeout | null;
        videoRef: HTMLVideoElement | null;
    };
    startStates: {
        [x: string]: {
            isVisible: boolean;
            isFullyHidden: boolean;
            goalText: string;
            visibleLetterAmount: number;
            typingSpeed: number;
            stylesBySpecialText: Record<string, CSSProperties>;
            _specialTextByLetterIndex: Record<number, string>;
            _goalTextWordLetterArrays: string[][];
            forCharacter: string | null;
            position: import("chootils/dist/points2d").Point2D;
            typingFinished: boolean;
            nowVideoName: string | null;
            font: string;
            zIndex: number;
        };
    };
};
