import App from '../app/index.js'; interface Options { fps: number; quality: 'low' | 'medium' | 'high'; isDebug?: boolean; fixedScaling?: boolean; useAnimationFrame?: boolean; framesSupport?: boolean; /** @deprecated webp is the default format for pipeline optimization */ fileExt?: 'webp' | 'png' | 'jpeg' | 'avif'; } declare class CanvasRecorder { private readonly app; private readonly options; private snapshots; private readonly intervals; private readonly observers; private readonly interval; private readonly fileExt; private uploadQueue; private readonly MAX_CONCURRENT_UPLOADS; private readonly MAX_QUEUE_SIZE; private readonly pendingBatches; private isProcessingQueue; constructor(app: App, options: Options); startTracking(): void; restartTracking: () => void; captureCanvas: (node: Node) => void; recordCanvas: (node: Node, id: number) => void; sendSnaps(images: { data: Blob; id: number; }[], canvasId: number, createdAt: number): void; private processUploadQueue; private uploadBatch; private cleanupCanvas; clear(): void; } export default CanvasRecorder;