interface JoystickControllerOptions { uid?: string; container?: HTMLElement | null; top?: string; left?: string; rotation?: number; radius?: number; color?: string; thumbColor?: string; onInputCallback?: (x: number, y: number) => void; onReleaseCallback?: () => void; verboseLogging?: boolean; } declare class JoystickController { uid: string; container: HTMLElement; top: string; left: string; rotation: number; radius: number; color: string; thumbColor: string; onInputCallback: (x: number, y: number) => void; onReleaseCallback: (x: number, y: number) => void; isPressed: boolean; verboseLogging: boolean; base: HTMLDivElement; baseThumb: HTMLDivElement; baseRect: DOMRect | undefined; thumbMaxDistance: number; constructor(options: JoystickControllerOptions); log(message: string): void; init(): void; render(): void; updateContainerRectangle(): void; onJoysickUp(e: PointerEvent): void; onJoysickDown(e: PointerEvent): void; onJoysickMove(e: PointerEvent): void; } export { JoystickController, type JoystickControllerOptions };