import type { UnknownShorthandCompoundProps } from '@theatre/core'; import type { Object3D } from 'three'; import type { IconID } from '../extension/icons'; import { Color } from 'three'; export type Helper = Object3D & { update?: () => void; }; type PropConfig = { parse: (props: Record) => T; apply: (value: T, object: any) => void; type: UnknownShorthandCompoundProps; }; type Props = Record>; type Meta = { useTransformControls: boolean; updateObject?: (object: T) => void; icon: IconID; dimensionless?: boolean; createHelper?: (object: T) => Helper; }; export type ObjectConfig = { props: Props; } & Meta; export type EditableFactoryConfig = Partial>>; type Vector3 = { x: number; y: number; z: number; }; export declare const createVector: (components?: [number, number, number]) => { x: number; y: number; z: number; }; export declare const createVectorPropConfig: (key: string, defaultValue?: { x: number; y: number; z: number; }, { nudgeMultiplier }?: { nudgeMultiplier?: number | undefined; }) => PropConfig; export declare const createNumberPropConfig: (key: string, defaultValue?: number, { nudgeMultiplier }?: { nudgeMultiplier?: number | undefined; }) => PropConfig; export type Rgba = { r: number; g: number; b: number; a: number; }; export declare const createColorPropConfig: (key: string, defaultValue?: Color) => PropConfig; export declare const extendObjectProps: (objectConfig: T, extension: Props) => T & { props: {}; }; export {}; //# sourceMappingURL=editableFactoryConfigUtils.d.ts.map