import { IconsTokenType } from '../../types/design-token.type'; /** * Metadata for a file uploaded through the image uploader. */ export type VegaUploadedFile = { /** * The URL of the uploaded file. */ url: string; /** * The name of the uploaded file. */ name?: string; }; /** * Union of uploaded metadata and native File objects. */ export type VegaFile = VegaUploadedFile | File; /** * Status values for image uploads. */ export type VegaImageUploaderStatus = 'uploading' | 'done'; /** * Configuration for a confirm button. */ export type VegaConfirmButtonProp = { /** * Button label text. */ text: string; }; /** * Supported action types in the image uploader. */ export type UploaderActionTypes = 'Preview' | 'Delete' | 'Replace'; /** * Configuration for an action button within the uploader. */ export type ActionButtonOptions = { /** * Icon token for the button. */ icon: IconsTokenType; /** * Label text for the button. */ label: string; }; /** * Nullable file type used by the uploader. */ export type VegaFileOptional = VegaFile | null;