import { ThreeElements } from '@react-three/fiber';
import { PropsWithChildren } from 'react';
import { Vec3 } from '../../sdk';
/**
 * ObservableGroup state
 */
export type ObservableGroupState = {
    center: Vec3;
    size: Vec3;
};
export type BoxPadding = {
    x0?: number;
    x1?: number;
    y0?: number;
    y1?: number;
    z0?: number;
    z1?: number;
};
/**
 * ObservableGroup props
 * @expand
 */
export type ObservableGroupProps = ThreeElements['group'] & {
    padding?: number | Vec3 | BoxPadding;
    snapTo?: number;
    updateRate?: number;
    enabled?: boolean;
    onChange?: (state: ObservableGroupState) => void;
};
/**
 * Monitors the bounds of its children and will invoke a callback when it
 * changes.
 *
 * This feature is used by the `BoxGrid` component if `autoSize` is enabled.
 *
 * @group Components
 */
export declare const ObservableGroup: (props: PropsWithChildren<ObservableGroupProps>) => import("react/jsx-runtime").JSX.Element;
