///
import { Vector2 } from "@react-three/fiber";
import { ComponentProps } from "react";
import useCommandHandler from "../hooks/useCommandHandler";
import { CurrentResult, YarnStorage } from "yarn-bound";
import { TeleprompterTextProps } from "./TeleprompterText";
import { RoundedBox } from "@react-three/drei";
type RoundedBoxProps = ComponentProps;
export type CharacterLabelAttributes = {
x?: number;
y?: number;
bg?: string;
width?: number | string;
height?: number | string;
opacity?: number;
labelColor?: string;
labelSize?: number;
} & Pick;
export type CharacterLabelInput = {
character: string | undefined | null;
dialogueBoxWidth: number;
dialogueBoxHeight: number;
characterBoxWidth: number;
characterBoxHeight: number;
};
export type YarnDialogueProps = {
yarn: string;
renderPriority?: number;
advanceOnClick?: boolean;
width: number | string;
height: number | string;
position?: Vector2;
transform?: [number | string, number | string];
padding?: number;
textMode?: TeleprompterTextProps['mode'];
textSpeed?: TeleprompterTextProps['speed'];
backgroundColor?: string;
fontSize?: number;
lineHeight?: number;
opacity?: number;
borderRadius?: number;
fontColor?: string;
optionsFontColor?: string;
optionsLineHeight?: number;
skippable?: boolean;
defaultToFirstOption?: boolean;
storage?: YarnStorage;
startNode?: string;
commands?: Parameters[0];
bottom?: number | string;
top?: number | string;
left?: number | string;
right?: number | string;
defaultCharacterLabelAttributes?: Partial;
getCharacterLabelAttributes?: (input: CharacterLabelInput) => CharacterLabelAttributes | undefined;
};
export type YarnDialogue = {
advance: (step?: number) => void;
setSelectedOption: (step?: number | null | undefined) => void;
selectedOption: number | null;
current: CurrentResult | null;
character: string | null;
};
export declare const YarnDialogue: import("react").ForwardRefExoticComponent>;
export {};