/// import { ElementRef, NgZone } from '@angular/core'; import { Observable, Subscription } from 'rxjs'; import * as THREE from 'three'; import { NgtResizeResult } from '../services/resize'; import type { NgtBeforeRenderRecord, NgtPerformanceOptions, NgtState } from '../types'; import { NgtComponentStore, tapEffect } from './component-store'; import * as i0 from "@angular/core"; export declare class NgtStore extends NgtComponentStore { #private; private parentStore; private resizeResult$; private zone; readonly ready$: Observable; constructor({ nativeElement: { clientWidth, clientHeight } }: ElementRef, performanceOptions: NgtPerformanceOptions, { devicePixelRatio }: Window, parentStore: NgtStore, resizeResult$: Observable, zone: NgZone); init(canvasElement: HTMLCanvasElement, rootStateMap: Map NgtState>, invalidate: (state?: () => NgtState, frames?: number) => void, advance: (timestamp: number, runGlobalCallbacks?: boolean, state?: () => NgtState, frame?: XRFrame) => void): void; onReady(cb: Parameters[0]): Subscription; registerBeforeRender(record: NgtBeforeRenderRecord): () => void; unregisterBeforeRender(uuid: string): void; addInteraction(interaction: THREE.Object3D): void; removeInteraction(uuid: string): void; setFrameloop(frameloop?: NgtState['frameloop']): void; setDpr(dpr: NgtState['dpr']): void; readonly startLoop: (observableOrValue: NgtState | Observable) => Subscription; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }