import { CommonProps } from "@trackunit/react-components"; import { BaseInputProps } from "../BaseInput/BaseInput"; type BaseInputExposedProps = Omit; export interface UploadInputProps extends BaseInputExposedProps, CommonProps { /** * A flag to disable the upload input. */ disabled?: boolean; /** * A string to set the file formats, for example '.pdf' or '.pdf, .jgp'. */ acceptedTypes?: string; /** * Label for the file selector button, */ uploadLabel: string; /** * A flag to allow the upload input to accept multiple files. */ multipleFiles?: boolean; /** * A flag to disable interaction with input for example if you want to use input as a child of higher component */ nonInteractive?: boolean; } /** * UploadInput renders a file upload input with a styled button label. It wraps `BaseInput` with `type="file"` * and supports restricting file types, enabling multi-file selection, and disabling interaction. * * **Note:** If you need a label, help text, or validation wrapping, use `UploadField` instead. * * ### When to use * Use UploadInput for bare file upload inputs inside custom layouts or composed form components. * * ### When not to use * Do not use UploadInput in standard forms — use `UploadField` which adds `FormGroup` wrapping with label and validation. * * @example File upload with accepted types * ```tsx * import { UploadInput } from "@trackunit/react-form-components"; * * const DocumentUpload = () => ( * console.log(e.target.files)} * /> * ); * ``` * @param {UploadInputProps} props - The props for the UploadInput component */ export declare const UploadInput: { ({ disabled, acceptedTypes, nonInteractive, uploadLabel, multipleFiles, ref, ...rest }: UploadInputProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; export {};