import { NgtComponentStore, NgtStore, Ref } from '@angular-three/core'; import { Provider } from '@angular/core'; import { Observable } from 'rxjs'; import * as THREE from 'three'; import { NgtSobaFBO } from '../fbo/fbo'; import * as i0 from "@angular/core"; export interface NgtSobaDepthBufferState { depthTexture: Ref; depthFBO: THREE.WebGLRenderTarget; depthConfig: { depthTexture: THREE.WebGLRenderTarget['depthTexture']; }; frames: number; size: number; width: number; height: number; } export interface NgtSobaDepthBufferParams { size?: number; frames?: number; } export declare class NgtSobaDepthBuffer extends NgtComponentStore { private store; private fbo; constructor(store: NgtStore, fbo: NgtSobaFBO); private count; private useSubscription?; use(paramsFactory: (defaultParams: Partial) => NgtSobaDepthBufferParams | Observable): Ref; private readonly setDepthConfig; private readonly setDepthFBO; private readonly setFboBeforeRender; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare function provideSobaDepthBuffer(): Provider;