import { Vue } from 'vue-property-decorator'; interface Dictionary { [key: string]: T; } declare type PlayStatus = "stopped" | "playing" | "paused"; declare class JudgeLine { x: number; y: number; r: number; a: number; bpm: number; image: ImageBitmap; imageH: number; imageW: number; imageB: number; constructor(x: number, y: number, rotation: number, alpha: number, bpm: number, image: ImageBitmap, imageH?: number, imageW?: number, imageB?: number); } declare class ClickEvent { x: number; y: number; time: number; rand: [number, number][]; constructor(x: number, y: number); } export default class VuePhigrosRender extends Vue { readonly chart: Dictionary; readonly chartInfo: { name: string; level: string; designer: string; illustrator: string; }; readonly bgmUrl: string; readonly backgroundUrl: string | null; readonly showTransition: boolean; readonly multiHint: boolean; noteScaleRatio: number; readonly aspectRatio: number; readonly showDebugInfo: boolean; readonly hitSound: boolean; readonly scheme: string; status: PlayStatus; canvas: HTMLCanvasElement; canvasbg: HTMLCanvasElement; loading: boolean; ready: boolean; errorInfo: string; myChart: Dictionary; bgmData: AudioBuffer | null; audioBuffers: AudioBufferSourceNode[]; bgData: ImageBitmap | null; ctx: CanvasRenderingContext2D; ctxbg: CanvasRenderingContext2D; actx: AudioContext; frameRender: number; wlen: number; wlen2: number; hlen: number; noteScale: number; lineScale: number; tickIn: number; tickOut: number; curTimestamp: number; curTime: number; timeBgm: number; get timeChart(): number; duration: number; isInEnd: boolean; isOutStart: boolean; fps: number; fpsTick: number; fpsStart: number; lines: any[]; clickEvents: ClickEvent[]; res: Dictionary; combo: number[]; score: string; onChartChange(): void; onStatusChange(nv: PlayStatus, ov: PlayStatus): void; onSizeChange(canvas: HTMLCanvasElement): void; mounted(): void; beforeDestroy(): void; initOnce(): Promise; init(): Promise; loadStaticResourse(): Promise; loadResourse(): Promise; play(currentStatus: PlayStatus): void; pause(): void; clearAll(): void; reset(): Promise; /** 逐帧渲染主函数 */ updateFrame(): void; initChart(): void; playSound(res: AudioBuffer, loop?: boolean, offset?: number): AudioBufferSourceNode; playBGM(offset?: number): void; stopBGM(): void; normalizeChart(chart: any): any; prerenderChart(chart: any): any; drawTapNote(idx: number, notes: any[], time: number, num: number): void; drawDragNote(idx: number, notes: any[], time: number, num: number): void; drawHoldNote(idx: number, notes: any[], time: number, num: number): void; drawFlickNote(idx: number, notes: any[], time: number, num: number): void; drawLine(bool: number): void; moveLine(line: JudgeLine, judgeLineMoveEvents: any[], time: number): void; rotateLine(line: JudgeLine, judgeLineRotateEvents: any[], time: number): void; disappearLine(line: JudgeLine, judgeLineDisappearEvents: any[], time: number): void; speedLine(line: JudgeLine, speedEvents: any[], time: number): void; playNote(line: any, notes: any[], time: number): void; } export {};