import { ICubismModelSetting } from "../framework/src/icubismmodelsetting"; import { ACubismMotion, FinishedMotionCallback, BeganMotionCallback } from "../framework/src/motion/acubismmotion"; import { CubismIdHandle } from "../framework/src/id/cubismid"; import { CubismMotionQueueManager, CubismMotionQueueEntryHandle } from "../framework/src/motion/cubismmotionqueuemanager"; import { CubismViewMatrix } from "../framework/src/math/cubismviewmatrix"; import { CubismMatrix44 } from "../framework/src/math/cubismmatrix44"; import { csmVector } from "../framework/src/type/csmvector"; import { csmMap } from "../framework/src/type/csmmap"; import { Live2DCubismUserModel } from "./Live2DCubismUserModel"; import { WavFileController } from "./WavFileController"; import { TouchController } from "./TouchController"; import { MotionController } from "./MotionController"; import { ExpressionController } from "./ExpressionController"; import { CameraController } from "./CameraController"; import { WebGLRenderer } from "./WebGLRenderer"; import { Live2DModelOptions, Live2DBuffers, CubismCDI3Json, VTubeStudioJson, EventMap } from "./types"; export declare const isLive2DZip: (arrayBuffer: ArrayBuffer) => Promise; export declare const compressLive2DTextures: (arrayBuffer: ArrayBuffer, maxSize?: number, quality?: number, format?: string) => Promise; export declare class Live2DCubismModel extends Live2DCubismUserModel { private events; private _paused; buffers: Live2DBuffers; motions: csmMap; expressions: csmMap; expressionIds: string[]; motionIds: string[]; textures: csmVector; eyeBlinkIds: csmVector; lipSyncIds: csmVector; settings: ICubismModelSetting; vtubeSettings: VTubeStudioJson; displayInfo: CubismCDI3Json; viewMatrix: CubismViewMatrix; projection: CubismMatrix44; deviceToScreen: CubismMatrix44; canvas: HTMLCanvasElement; deltaTime: DOMHighResTimeStamp; currentFrame: DOMHighResTimeStamp; lastFrame: DOMHighResTimeStamp; queueManager: CubismMotionQueueManager; premultipliedAlpha: boolean; cubismCorePath: string; autoAnimate: boolean; autoInteraction: boolean; tapInteraction: boolean; randomMotion: boolean; keepAspect: boolean; speed: number; logicalLeft: number; logicalRight: number; logicalBottom: number; logicalTop: number; audioContext: AudioContext; connectNode: AudioNode | null; wavController: WavFileController; touchController: TouchController; motionController: MotionController; expressionController: ExpressionController; cameraController: CameraController; webGLRenderer: WebGLRenderer; enablePhysics: boolean; enableEyeblink: boolean; enableBreath: boolean; enableLipsync: boolean; enableMotion: boolean; enableExpression: boolean; enableMovement: boolean; enablePose: boolean; size: number; maxTextureSize: number; scaledYPos: boolean; appendYOffset: number; totalMotionCount: number; needsResize: boolean; loaded: boolean; cubismLoaded: boolean; on(event: K, listener: EventMap[K]): void; emit(event: K, ...args: Parameters): void; off(event: K, listener: EventMap[K]): void; get zoomEnabled(): boolean; set zoomEnabled(zoomEnabled: boolean); get minScale(): number; set minScale(minScale: number); get maxScale(): number; set maxScale(maxScale: number); get panSpeed(): number; set panSpeed(panSpeed: number); get zoomStep(): number; set zoomStep(zoomStep: number); get scale(): number; set scale(scale: number); get x(): number; set x(x: number); get y(): number; set y(y: number); get lipsyncSmoothing(): number; set lipsyncSmoothing(lipsyncSmoothing: number); get volume(): number; set volume(volume: number); get doubleClickReset(): boolean; set doubleClickReset(doubleClickReset: boolean); get paused(): boolean; set paused(paused: boolean); constructor(canvas: HTMLCanvasElement, options?: Live2DModelOptions); destroy: (destroyCubism?: boolean) => void; loadCubismCore: () => Promise; loadFramework: () => Promise; initializeCubism: () => Promise; loadBuffers: (link: string | ArrayBuffer) => Promise; load: (link: string | ArrayBuffer) => Promise; loadTextures: () => Promise; resize: () => void; updateTime: () => void; updateCamera: () => void; updateProjection: () => void; update: () => void; animationLoop: () => void; stopMotions: () => void; startMotion: (group: string, i: number, priority: number, onStartMotion?: BeganMotionCallback, onEndMotion?: FinishedMotionCallback) => Promise; startRandomMotion: (group: string | null, priority: number, onStartMotion?: BeganMotionCallback, onEndMotion?: FinishedMotionCallback) => Promise; getExpressions: () => string[]; getMotions: () => string[]; hasLipsync: () => boolean; setExpression: (expression: string) => void; setRandomExpression: () => void; inputAudio: (wavBuffer: ArrayBuffer | AudioBuffer, playAudio?: boolean) => Promise; stopAudio: () => Promise; hitTest: (areaName: string, x: number, y: number) => boolean; isMocConsistent: () => boolean; transformX: (pointX: number) => number; transformY: (pointY: number) => number; takeScreenshot: (format?: string, faceCrop?: boolean) => Promise; zoomIn: (factor?: number) => void; zoomOut: (factor?: number) => void; centerModel: () => void; characterPosition: () => { firstNonTransparentY: number; lastNonTransparentY: number; characterHeight: number; marginHeight: number; }; getParameterName: (parameter: string) => string; getPartName: (part: string) => string; getParameterNames: () => string[]; getPartNames: () => string[]; }