import { type MessageDescriptor } from "react-intl";
import { type INumberParameterConstraints } from "@gooddata/sdk-model";
import { type IDropdownBodyRenderProps } from "../Dropdown/Dropdown.js";
/**
 * @internal
 */
export interface INumberParameterControlDropdownProps {
    name: string;
    value: number;
    /**
     * Workspace-default snapshot used by the Reset link. Reset is hidden when this is
     * `undefined` or equals the current (valid) draft value. Reset writes this value into the
     * draft input only; the user must click Apply to commit.
     */
    resetValue?: number;
    constraints?: INumberParameterConstraints;
    inputId?: string;
    ariaAttributes?: IDropdownBodyRenderProps["ariaAttributes"];
    onApply: (value: number) => void;
    onCancel: () => void;
}
/**
 * Dropdown panel for editing a numeric parameter value. Owns the draft, inline validation,
 * preview, and (mode-aware) Reset via `resetValue`.
 *
 * @internal
 */
export declare function NumberParameterControlDropdown({ name, value, resetValue, constraints, inputId, ariaAttributes, onApply, onCancel }: INumberParameterControlDropdownProps): import("react/jsx-runtime").JSX.Element;
/**
 * Returns the message to show for an invalid draft, or `undefined` when the draft is a valid
 * in-range number. The single source of truth the dropdown derives its error row, input style,
 * and Apply-disabled state from.
 *
 * @internal
 */
export declare function getDraftValidationError(draft: string, constraints?: INumberParameterConstraints): MessageDescriptor | undefined;
//# sourceMappingURL=NumberParameterControlDropdown.d.ts.map