import * as React from "react"; import { type VariantProps } from "../../utils.js"; import type { Label } from "../../Label/index.js"; import type { InputPrimitiveProps } from "../../Input/index.js"; import { FileItem, type FileItemDto, type FileItemFormatted } from "../domains/index.js"; import type { FilePreviewRendererProps, TriggerRendererProps } from "./components/types.js"; declare const filePickerVariants: (props?: ({ type?: "area" | "compact" | null | undefined; variant?: "primary" | "secondary" | "ghost" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; interface FilePickerPrimitiveProps extends React.HTMLAttributes, VariantProps { /** * Custom styles for the container. */ containerStyle?: React.CSSProperties; /** * Indicates if the file picker is disabled. */ disabled?: boolean; /** * Indicates if the input field is invalid. * Refer to `InputPrimitiveProps["invalid"]` for possible values. */ invalid?: InputPrimitiveProps["invalid"]; /** * Label for the file picker. */ label?: React.ReactElement | React.ReactNode | string; /** * Description for the file picker. */ description?: React.ReactNode | string; /** * Callback triggered when an item is edited. */ onEditItem?: (item: FileItemFormatted | null) => void; /** * Callback triggered when an item is removed. */ onRemoveItem?: (item: FileItemFormatted | null) => void; /** * Callback triggered when an item is selected. */ onSelectItem: () => void; /** * Placeholder text for the file picker. */ placeholder?: string; /** * Custom renderer for the file preview. */ renderFilePreview?: (props: FilePreviewRendererProps) => React.ReactElement; /** * Custom renderer for the trigger. */ renderTrigger?: (props: TriggerRendererProps) => React.ReactElement; /** * Custom styles for the file picker. */ style?: React.CSSProperties; /** * Value of the selected file. */ value?: FileItemDto | string | null; } declare const FilePickerPrimitive: (({ className, containerStyle, description, disabled, invalid, label, onEditItem, onRemoveItem, onSelectItem, placeholder, renderFilePreview, renderTrigger, type, value, variant }: FilePickerPrimitiveProps) => React.JSX.Element) & { original: ({ className, containerStyle, description, disabled, invalid, label, onEditItem, onRemoveItem, onSelectItem, placeholder, renderFilePreview, renderTrigger, type, value, variant }: FilePickerPrimitiveProps) => React.JSX.Element; originalName: string; displayName: string; } & { original: (({ className, containerStyle, description, disabled, invalid, label, onEditItem, onRemoveItem, onSelectItem, placeholder, renderFilePreview, renderTrigger, type, value, variant }: FilePickerPrimitiveProps) => React.JSX.Element) & { original: ({ className, containerStyle, description, disabled, invalid, label, onEditItem, onRemoveItem, onSelectItem, placeholder, renderFilePreview, renderTrigger, type, value, variant }: FilePickerPrimitiveProps) => React.JSX.Element; originalName: string; displayName: string; }; originalName: string; displayName: string; } & { createDecorator: (decorator: import("@webiny/react-composition/types.js").ComponentDecorator<(({ className, containerStyle, description, disabled, invalid, label, onEditItem, onRemoveItem, onSelectItem, placeholder, renderFilePreview, renderTrigger, type, value, variant }: FilePickerPrimitiveProps) => React.JSX.Element) & { original: ({ className, containerStyle, description, disabled, invalid, label, onEditItem, onRemoveItem, onSelectItem, placeholder, renderFilePreview, renderTrigger, type, value, variant }: FilePickerPrimitiveProps) => React.JSX.Element; originalName: string; displayName: string; }>) => (props: unknown) => React.JSX.Element; } & { Preview: { Image: (({ value, className, variant, disabled, onRemoveItem, onReplaceItem, onEditItem }: import("./index.js").ImagePreviewProps) => React.JSX.Element) & { original: ({ value, className, variant, disabled, onRemoveItem, onReplaceItem, onEditItem }: import("./index.js").ImagePreviewProps) => React.JSX.Element; originalName: string; displayName: string; } & { original: (({ value, className, variant, disabled, onRemoveItem, onReplaceItem, onEditItem }: import("./index.js").ImagePreviewProps) => React.JSX.Element) & { original: ({ value, className, variant, disabled, onRemoveItem, onReplaceItem, onEditItem }: import("./index.js").ImagePreviewProps) => React.JSX.Element; originalName: string; displayName: string; }; originalName: string; displayName: string; } & { createDecorator: (decorator: import("@webiny/react-composition/types.js").ComponentDecorator<(({ value, className, variant, disabled, onRemoveItem, onReplaceItem, onEditItem }: import("./index.js").ImagePreviewProps) => React.JSX.Element) & { original: ({ value, className, variant, disabled, onRemoveItem, onReplaceItem, onEditItem }: import("./index.js").ImagePreviewProps) => React.JSX.Element; originalName: string; displayName: string; }>) => (props: unknown) => React.JSX.Element; }; RichItem: (({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, value, variant, preview, ...props }: import("./index.js").RichItemPreviewProps) => React.JSX.Element) & { original: ({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, value, variant, preview, ...props }: import("./index.js").RichItemPreviewProps) => React.JSX.Element; originalName: string; displayName: string; } & { original: (({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, value, variant, preview, ...props }: import("./index.js").RichItemPreviewProps) => React.JSX.Element) & { original: ({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, value, variant, preview, ...props }: import("./index.js").RichItemPreviewProps) => React.JSX.Element; originalName: string; displayName: string; }; originalName: string; displayName: string; } & { createDecorator: (decorator: import("@webiny/react-composition/types.js").ComponentDecorator<(({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, value, variant, preview, ...props }: import("./index.js").RichItemPreviewProps) => React.JSX.Element) & { original: ({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, value, variant, preview, ...props }: import("./index.js").RichItemPreviewProps) => React.JSX.Element; originalName: string; displayName: string; }>) => (props: unknown) => React.JSX.Element; }; TextOnly: (({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, small, variant, value, ...props }: import("./index.js").TextOnlyPreviewProps) => React.JSX.Element) & { original: ({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, small, variant, value, ...props }: import("./index.js").TextOnlyPreviewProps) => React.JSX.Element; originalName: string; displayName: string; } & { original: (({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, small, variant, value, ...props }: import("./index.js").TextOnlyPreviewProps) => React.JSX.Element) & { original: ({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, small, variant, value, ...props }: import("./index.js").TextOnlyPreviewProps) => React.JSX.Element; originalName: string; displayName: string; }; originalName: string; displayName: string; } & { createDecorator: (decorator: import("@webiny/react-composition/types.js").ComponentDecorator<(({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, small, variant, value, ...props }: import("./index.js").TextOnlyPreviewProps) => React.JSX.Element) & { original: ({ className, disabled, onRemoveItem, onReplaceItem, onEditItem, small, variant, value, ...props }: import("./index.js").TextOnlyPreviewProps) => React.JSX.Element; originalName: string; displayName: string; }>) => (props: unknown) => React.JSX.Element; }; }; }; export { FilePickerPrimitive, FileItem, type FilePickerPrimitiveProps, filePickerVariants };