import * as THREE from 'three'; import { Ref } from '../ref'; import type { AnyConstructor } from '../types'; import { NgtObject, NgtObjectPropsState } from './object'; import * as i0 from "@angular/core"; export interface NgtMaterialGeometryState extends NgtObjectPropsState { material: THREE.Material | THREE.Material[] | Ref | Ref[]; geometry: THREE.BufferGeometry | Ref; morphTargetInfluences?: number[]; morphTargetDictionary?: Record; } export declare abstract class NgtMaterialGeometry extends NgtObject> { set material(material: THREE.Material | THREE.Material[] | Ref | Ref[]); set geometry(geometry: THREE.BufferGeometry | Ref); set morphTargetInfluences(morphTargetInfluences: number[]); set morphTargetDictionary(morphTargetDictionary: Record); abstract get objectType(): AnyConstructor; protected objectInitFn(): TMaterialGeometryObject; protected get argsKeys(): string[]; protected get optionFields(): Record; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "material": "material"; "geometry": "geometry"; "morphTargetInfluences": "morphTargetInfluences"; "morphTargetDictionary": "morphTargetDictionary"; }, {}, never, never, false>; }