import type * as THREE from 'three';
import type { Instance } from '@react-three/fiber';
import type { Obj } from "./types/internal.js";
export declare class ReactThreeTestInstance<TObject extends THREE.Object3D = THREE.Object3D> {
    _fiber: Instance<TObject>;
    constructor(fiber: Instance<TObject>);
    get fiber(): Instance<TObject>;
    get instance(): TObject;
    get type(): string;
    get props(): Obj;
    get parent(): ReactThreeTestInstance | null;
    get children(): ReactThreeTestInstance[];
    get allChildren(): ReactThreeTestInstance[];
    private getChildren;
    findAll: (decider: (node: ReactThreeTestInstance) => boolean) => ReactThreeTestInstance[];
    find: (decider: (node: ReactThreeTestInstance) => boolean) => ReactThreeTestInstance;
    findByType: (type: string) => ReactThreeTestInstance;
    findAllByType: (type: string) => ReactThreeTestInstance[];
    findByProps: (props: Obj) => ReactThreeTestInstance;
    findAllByProps: (props: Obj) => ReactThreeTestInstance[];
}
export declare const wrapFiber: (fiber: Instance) => ReactThreeTestInstance;
