import { BooleanInput, NgtComponentStore, NgtInstance, NgtInstanceState, NgtLoader, NgtStore, NumberInput, Ref } from '@angular-three/core'; import { TemplateRef } from '@angular/core'; import { Observable } from 'rxjs'; import * as THREE from 'three'; import { PresetsType } from './presets'; import * as i0 from "@angular/core"; export interface NgtSobaEnvironmentGenericState extends NgtInstanceState { frames?: number; near?: number; far?: number; resolution?: number; background?: boolean | 'only'; map?: THREE.Texture; files?: string | string[]; path?: string; preset?: PresetsType; scene?: THREE.Scene | Ref; extensions?: (loader: THREE.Loader) => void; ground?: boolean | { radius?: number; height?: number; scale?: number; }; } export declare abstract class NgtSobaEnvironmentGeneric extends NgtInstance> { get frames(): NumberInput; set frames(frames: NumberInput); get near(): NumberInput; set near(near: NumberInput); get far(): NumberInput; set far(far: NumberInput); get resolution(): NumberInput; set resolution(resolution: NumberInput); get background(): BooleanInput | 'only'; set background(background: BooleanInput | 'only'); get map(): THREE.Texture; set map(map: THREE.Texture); get files(): string | string[]; set files(files: string | string[]); get path(): string; set path(path: string); get preset(): PresetsType; set preset(preset: PresetsType); get scene(): THREE.Scene | Ref; set scene(scene: THREE.Scene | Ref); get extensions(): (loader: THREE.Loader) => void; set extensions(extensions: (loader: THREE.Loader) => void); get ground(): BooleanInput | { radius?: number; height?: number; scale?: number; }; set ground(ground: BooleanInput | { radius?: number; height?: number; scale?: number; }); static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "frames": "frames"; "near": "near"; "far": "far"; "resolution": "resolution"; "background": "background"; "map": "map"; "files": "files"; "path": "path"; "preset": "preset"; "scene": "scene"; "extensions": "extensions"; "ground": "ground"; }, {}, never, never, false>; } export declare class NgtSobaEnvironmentPassThrough { private host; set ngtSobaEnvironmentPassThrough(wrapper: unknown); constructor(host: NgtSobaEnvironmentGeneric); private assertWrapper; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare type NgtSobaEnvironmentResolverParams = Partial>; export interface NgtSobaEnvironmentResolverState extends Pick { textureRef: Ref; } export declare class NgtSobaEnvironmentResolver extends NgtComponentStore { private loader; private store; constructor(loader: NgtLoader, store: NgtStore); private useSubscription?; use(paramsFactory: (defaultParams: NgtSobaEnvironmentResolverParams) => NgtSobaEnvironmentResolverParams | Observable): Ref; private readonly setTexture; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class NgtSobaEnvironmentMap extends NgtSobaEnvironmentGeneric { protected preInit(): void; ngOnInit(): void; private readonly setEnvironment; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class NgtSobaEnvironmentCube extends NgtSobaEnvironmentGeneric { private environmentResolver; protected preInit(): void; ngOnInit(): void; private readonly setEnvironment; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class NgtSobaEnvironmentContent { templateRef: TemplateRef; constructor(templateRef: TemplateRef); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class NgtSobaEnvironmentPortal extends NgtSobaEnvironmentGeneric { readonly virtualScene: Ref>; readonly cubeCamera: Ref; content: NgtSobaEnvironmentContent; private count; readonly fbo$: Observable; protected preInit(): void; ngOnInit(): void; private readonly setEnvironment; onBeforeRender(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class NgtSobaEnvironmentGround extends NgtSobaEnvironmentGeneric { readonly materialRef: Ref; readonly vertexShader = "\nvarying vec3 vWorldPosition;\n\nvoid main() {\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}"; private environmentResolver; readonly uniforms: { cubemap: { value: null; }; height: { value: number; }; radius: { value: number; }; }; readonly environmentGroundViewModel$: Observable<{ texture: any; scale: any; fragment: any; }>; ngOnInit(): void; private readonly setDefines; private readonly setFragment; private readonly setMaterialOptions; private readonly setHeightUniform; private readonly setRadiusUniform; private readonly setCubeMapUniform; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class NgtSobaEnvironment extends NgtSobaEnvironmentGeneric { content?: NgtSobaEnvironmentContent; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class NgtSobaEnvironmentModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; }