import { IApiResponse, RollEventCallback, RoomEventCallback, ThreeDDiceAPI, ThreeDDiceRollEvent, ThreeDDiceRoomEvent } from './api'; import { DiceEvent, DiceEventCallback, IAvailableDie, IDiceRoll, IDiceRollOptions, IDieType, IEngineConfig, IRoll, ITheme, ThemeName } from './config'; export declare enum ThreeDDiceDieEvent { AddDie = "addDie" } export declare class ThreeDDice { static DefaultConfig: IEngineConfig; api?: ThreeDDiceAPI; apiKey?: string; private _autoRotateEnabled; private _controlsEnabled; private _callbacks; private _isDiceThrowing; private _isDragging; private _lastRotation; private _lastTime; private _pointerDown; private _pointerDownPosition; private _thrownUUIDs; private _previewMode; private audioListener; private audio; private camera?; canvas?: HTMLCanvasElement; private clock; private composer?; private config; private controls; private dice; private diceDragging; private dragControls; private events; private fbxLoader; private gltfLoader; private loader; private loaderQueue; private meshes; private outlinePasses; private participantFilter; private physics; private pointer; private raycaster; private renderer; private rollQueue; private scene; private shaderMaterials; private sounds; private stats?; private textures; private themePreviewFetchQueue; private themes; private shouldAnimate; constructor(canvas?: HTMLCanvasElement, apiKey?: string, config?: Partial); static isWebGLAvailable: () => boolean; get autoRotate(): boolean; set autoRotate(enabled: boolean); get controlsEnabled(): boolean; set controlsEnabled(enabled: boolean); get height(): number; get isDiceThrowing(): boolean; get diceCount(): number; get previewMode(): boolean; set previewMode(previewMode: boolean); get version(): string; get width(): number; addCallback: (eventName: string, callback: (...params: any[]) => void) => void; clear: () => void; connect: (roomSlug: string, roomPasscode?: string, userUuid?: string) => ThreeDDice; disconnect: () => ThreeDDice; dispatch: (event: DiceEvent | ThreeDDiceRollEvent | ThreeDDiceRoomEvent | ThreeDDiceDieEvent, ...params: any[]) => ThreeDDice; getTheme: (themeId: ThemeName) => ITheme; getThemes: () => ITheme[]; private getRollsFromDice; initialize(canvas?: HTMLCanvasElement, apiKey?: string, config?: Partial, appName?: string): this; filter: (participantIds: number[]) => ThreeDDice; loadTheme: (theme: ITheme, overwriteTheme?: boolean, fetchPreviews?: boolean) => ThreeDDice; off(event: ThreeDDiceRollEvent | ThreeDDiceRoomEvent): ThreeDDice; on(event: DiceEvent, callback: DiceEventCallback): ThreeDDice; on(event: ThreeDDiceRoomEvent, callback: RoomEventCallback): ThreeDDice; on(event: ThreeDDiceRollEvent, callback: RollEventCallback): ThreeDDice; pause: () => void; pickUpRollsForUser(uuid: string): Promise; pickUpRoll: (roll: Partial | Partial[], uuids?: string[]) => Promise>; loadThemeResources: (id: string, processQueue?: boolean) => string[]; preview: (theme: ITheme, availableDie: IAvailableDie | IDieType) => Promise; resetCamera: () => void; resize: (width: number, height: number) => ThreeDDice; resume: () => void; roll: (dice: IDiceRoll[], options?: IDiceRollOptions) => Promise>; rollLocal: (dice: IDiceRoll[], options?: IDiceRollOptions, user?: any) => Promise>; screenshot: (mimeType: string) => string; setConfig: (config: Partial) => void; start: () => ThreeDDice; stop: () => ThreeDDice; unhideRoll(roll: IRoll, uuids?: string[]): Promise>; private boardHeight; private boardWidth; private createDie; private static compareEventValue; private eventRollValueMoveStart; private eventRollValueMoveEnd; private eventRollValueMove; private eventRollCreated; private eventRollUpdated; private eventRoomUpdated; private executeRoll; private shouldExecuteRollEvent; private adjustAmbientDiceSoundsVolume; private attachSound; private _attachSound; private fadeOutDiceByUuid; private getDiceOptions; private getThemeOptions; private initAudioListener; private initCamera; private initControls; private initDragControls; private initListeners; private initPhysics; private initRenderer; private initScene; private initStats; private initWindowListeners; private isThemeLoaded; private listen; private loadMesh; private loadShaderMaterial; private loadSound; private loadTexture; private onDragStart; private onDrag; private onDragEnd; private onClick; private onMove; private onMoveLocal; private onPointerDown; private onPointerMove; private onPointerUp; private onContextMenu; private onRollLoading; private onRollLoaded; private processLoaderQueue; private processQueueRoll; private queueResource; private queueRoll; private removeDiceIfOverLimit; private removeDieByUuid; private resizePhysics; private unhideDiceByUuid; private unloadShaderMaterial; private unloadTheme; private update; private updateBoardSize; }