@react-three/drei
Version:
useful add-ons for react-three-fiber
17 lines (16 loc) • 790 B
TypeScript
import * as React from 'react';
import { Object3D } from 'three';
import { Falsey } from 'utility-types';
type HelperType = Object3D & {
update: () => void;
dispose: () => void;
};
type HelperConstructor = new (...args: any[]) => any;
type HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;
export declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
export type HelperProps<T extends HelperConstructor> = {
type: T;
args?: HelperArgs<ConstructorParameters<T>>;
};
export declare const Helper: <T extends HelperConstructor>({ type: helperConstructor, args, }: HelperProps<T>) => React.JSX.Element;
export {};