import { BooleanInput, NgtObjectProps, NgtObjectPropsState, NumberInput, Ref } from '@angular-three/core'; import { EventEmitter, TemplateRef } from '@angular/core'; import * as THREE from 'three'; import * as i0 from "@angular/core"; export interface NgtSobaBoundsSize { box: THREE.Box3; size: THREE.Vector3; center: THREE.Vector3; distance: number; } export interface NgtSobaBoundsApi { getSize: () => NgtSobaBoundsSize; refresh(object?: THREE.Object3D | THREE.Box3): NgtSobaBoundsApi; clip(): NgtSobaBoundsApi; fit(): NgtSobaBoundsApi; } export interface NgtSobaBoundsState extends NgtObjectPropsState { damping: number; fit: boolean; clip: boolean; observe: boolean; margin: number; eps: number; } export declare class NgtSobaBoundsContent { templateRef: TemplateRef<{ bounds: Ref; api: NgtSobaBoundsApi; }>; constructor(templateRef: TemplateRef<{ bounds: Ref; api: NgtSobaBoundsApi; }>); static ngTemplateContextGuard(dir: NgtSobaBoundsContent, ctx: any): ctx is { bounds: Ref; api: NgtSobaBoundsApi; }; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class NgtSobaBounds extends NgtObjectProps { set damping(damping: NumberInput); set fit(fit: BooleanInput); set clip(clip: BooleanInput); set observe(observe: BooleanInput); set margin(margin: NumberInput); set eps(eps: NumberInput); fitChange: EventEmitter; content?: NgtSobaBoundsContent; private readonly current; private readonly goal; private readonly box; private count; protected preInit(): void; ngOnInit(): void; private readonly preventDragHijacking; private readonly observeSizeChange; private readonly setBeforeRender; get api(): NgtSobaBoundsApi; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class NgtSobaBoundsModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; }