/// import { Handler } from 'mitt'; import { ConnectionKey, Events, Funscript, HandyConfig, HandyState, Offset, PercentValue, RecursivePartial, SlideSettings, SyncSettings } from './types'; import { ConnectResult, GenericResult, Mode, ModeUpdateResponse } from './enums'; import APIWrapper from './api'; export declare class Handy { #private; API: ReturnType; playingTimer?: NodeJS.Timeout; videoPlayer?: HTMLVideoElement; constructor(initialConfig?: RecursivePartial); updateState(state: Partial): Promise; getState(): HandyState; updateConfig(config: RecursivePartial): void; getConfig(): HandyConfig; connect(connectionKey: ConnectionKey): Promise; disconnect(all?: boolean): Promise; on(event: T, handler: Handler): void; off(event: T, handler: Handler): void; attachUUI(uuiId?: string): void; toggleUUI(open?: boolean): Promise; getClientServerLatency(): { avgOffset: number; avgRtd: number; lastSyncTime: number; }; getStoredKey(): Promise; setVideoPlayer(videoPlayer?: HTMLVideoElement): void; setMode(mode: Mode): Promise; getMode(): Promise; syncClientServerTime(settings?: Partial): Promise; syncHandyServerTime(settings?: Partial): Promise; sync(clientSettings?: SyncSettings, handySettings?: SyncSettings): Promise; getHandyRtd(): Promise; setOffset(offset: Offset): Promise; getOffset(): Promise; setStrokeZone(slide?: SlideSettings): Promise; getStrokeZone(): Promise; getAbsolutePosition(): Promise; hampPlay(): Promise; hampStop(): Promise; setHampVelocity(velocity: PercentValue): Promise; getHampVelocity(): Promise; setScript(scriptUrl: string): Promise<{ result: import("./enums").HSSPSetupResult; }>; setScriptFromData(script: Funscript | string): Promise<{ result: import("./enums").HSSPSetupResult; }>; hsspPlay(startTime?: number, estimatedServerTime?: number): Promise; hsspStop(): Promise; setHsspLoop(loop?: boolean): Promise; getHsspLoop(): Promise<{ loop: boolean; result: GenericResult; }>; hdsp(position: number, speed: number, positionType: 'absolute' | 'percent', speedType: 'time' | 'absolute' | 'percent', stopOnTarget: boolean, immediateResponse: boolean): Promise; restartHandy(reconnect?: boolean): Promise; } export declare function init(config?: RecursivePartial): Handy; export declare function uploadDataToServer(script: Funscript | string, scriptAPI?: string): Promise; export declare function isValidCSV(data: string): boolean; export declare function convertDataToCSV(script: Funscript | string, lineTerminator?: string): string; export declare function getEstimatedServerTime(): number;