import { FormFieldProps } from '../FormField';
import { NumberInputProps } from '../NumberInput';
import { SafeRequired, ValuesOf } from '../utils/typeUtils';
import { SIZE } from './CornerRadiusInput.constants';
export type CornerProps = {
    id?: NumberInputProps['id'];
    name?: NumberInputProps['name'];
    ariaLabel?: NumberInputProps['ariaLabel'];
    onInvalid?: NumberInputProps['onInvalid'];
    status?: FormFieldProps['status'];
    onChange?: NumberInputProps['onChange'];
    value?: NumberInputProps['value'];
    suffix?: NumberInputProps['suffix'];
};
export type CornerRadiusInputProps = {
    /** Applies a data-hook HTML attribute that can be used in tests. */
    dataHook?: string;
    /** Specifies a CSS class name to be appended to the component’s root element.
     * @internal
     */
    className?: string;
    /** Properties for the top left corner input. */
    topLeft?: CornerProps;
    /** Properties for the top right corner input. */
    topRight?: CornerProps;
    /** Properties for the bottom left corner input. */
    bottomLeft?: CornerProps;
    /** Properties for the bottom right corner input. */
    bottomRight?: CornerProps;
    /** When set to `true`, linked mode is initially enabled on the component. */
    linked?: boolean;
    /** Callback function that is called when the linked mode is toggled on or off. */
    onLinkedToggle?: (isLinked: boolean) => void;
    /** Specifies the labels displayed when hovering over the link button.
     * The `pressed` key defines the label shown when link mode is active (or pressed),
     * while the `unpressed` key defines the label for when link mode is inactive (or unpressed).
     */
    linkingButtonLabels: SafeRequired<{
        pressed: string;
        unpressed: string;
    }>;
    /** Specifies the size of the component. */
    size?: ValuesOf<typeof SIZE>;
    /** Min value for all corners. */
    min?: NumberInputProps['min'];
    /** Max value for all corners.
     * @default 999
     */
    max?: NumberInputProps['max'];
    /** When all corners have been modified in linked mode, this message is announced to screen readers. */
    linkedValuesChangedMessage?: string;
};
//# sourceMappingURL=CornerRadiusInput.types.d.ts.map