import type { ComponentType } from 'react';
import type { DeferInfer, NoChildrenProp, TestIdProp, WithAttributes } from '../../types';
import type { FormControlProps } from '../FormControl';
export type CompositeInputProps<P extends object = object> = WithAttributes<'input', TestIdProp & NoChildrenProp & {
    /** Set visual state based on a validation state. */
    status?: FormControlProps['status'];
    /** Pass a string or a fragment with an Icon and string. */
    label?: FormControlProps['label'];
    /** Visually hides the label region. */
    labelHidden?: FormControlProps['labelHidden'];
    /** It is recommended to pass a simple string to offer guidance. Text will be styled based on status prop. */
    info?: FormControlProps['info'];
    /** Indicate if the field is required. The browser defaults to false. */
    /** Callback when clear button is clicked. */
    onClear?: () => void;
    /** Button when clicked will show additional information for the composite input */
    additionalInfo?: FormControlProps['additionalInfo'];
    /** Value form options. */
    dialog: {
        /** A component to render the main portion of the form. */
        renderer: ComponentType<P>;
        /** A props object that will be passed to the form renderer. */
        rendererProps?: DeferInfer<P>;
        /** Callback when cancel button is clicked. */
        onCancel: ({ close }: {
            close: () => void;
        }) => void;
        /** Callback when apply button is clicked. */
        onApply: ({ close }: {
            close: () => void;
        }) => void;
    };
}>;
//# sourceMappingURL=CompositeInput.types.d.ts.map