import { NumericRangeFilter, NumericRangeValue } from './internal/types';
/**
 * Props for the FilterNumericRange component.
 */
interface FilterNumericRangeProps {
    /** The numeric range filter — drives field labels, decorator props, and clamp bounds. */
    filter: NumericRangeFilter;
    /** Current min/max value (or null when no bounds are set). */
    value: NumericRangeValue;
    /** Callback to update the value. Emits `null` when both bounds are cleared. */
    onChange: (value: NumericRangeValue) => void;
    /**
     * `compact` stacks the inputs vertically (toolbar popover); `grid` places
     * Min / "to" / Max side-by-side under a single FieldLabel (drawer cell).
     */
    layout: "compact" | "grid";
}
/**
 * Min/Max NumberField inputs for the numericRange filter. Used as the popover
 * body in the toolbar (`layout="compact"`) and as the cell in the drawer
 * (`layout="grid"`).
 *
 * Value-driven: partial input (only one bound filled) flows straight to the
 * caller, so a consumer can keep half-ranges (e.g. `> 100`) without juggling
 * draft state here. Both bounds are clamped to `filter.minValue`/`maxValue`
 * before emitting.
 */
export declare const FilterNumericRange: ({ filter, value, onChange, layout, }: FilterNumericRangeProps) => import("react/jsx-runtime").JSX.Element;
export {};
