import React from 'react'; import type { CSSProperties } from 'react'; import '@mux/mux-uploader'; import type MuxUploaderElement from '@mux/mux-uploader'; import type { MuxUploaderElementEventMap } from '@mux/mux-uploader'; import { constants } from '@mux/mux-uploader'; import MuxUploaderDrop from './mux-uploader-drop'; import MuxUploaderFileSelect from './mux-uploader-file-select'; import MuxUploaderProgress from './mux-uploader-progress'; import MuxUploaderRetry from './mux-uploader-retry'; import MuxUploaderPause from './mux-uploader-pause'; import MuxUploaderStatus from './mux-uploader-status'; export declare const ProgressTypes: constants.ProgressTypes; export type ProgressTypes = typeof ProgressTypes; export type MuxUploaderRefAttributes = MuxUploaderElement; interface GenericEventListener { (evt: T): void; } export type MuxUploaderProps = { id?: string; endpoint?: MuxUploaderElement['endpoint']; type?: ProgressTypes[keyof ProgressTypes]; noDrop?: boolean; noProgress?: boolean; noStatus?: boolean; noRetry?: boolean; pausable?: boolean; locale?: string; style?: CSSProperties & { ['--progress-bar-fill-color']?: CSSProperties['background']; ['--progress-radial-fill-color']?: CSSProperties['stroke']; }; children?: React.ReactNode; dynamicChunkSize?: boolean; useLargeFileWorkaround?: boolean; maxFileSize?: number; chunkSize?: number; onUploadStart?: GenericEventListener; onChunkAttempt?: GenericEventListener; onChunkSuccess?: GenericEventListener; onUploadError?: GenericEventListener; onProgress?: GenericEventListener; onSuccess?: GenericEventListener; } & Omit, HTMLElement>, 'ref'>; declare const MuxUploader: React.ForwardRefExoticComponent<{ id?: string; endpoint?: MuxUploaderElement["endpoint"]; type?: ProgressTypes[keyof ProgressTypes]; noDrop?: boolean; noProgress?: boolean; noStatus?: boolean; noRetry?: boolean; pausable?: boolean; locale?: string; style?: CSSProperties & { ["--progress-bar-fill-color"]?: CSSProperties["background"]; ["--progress-radial-fill-color"]?: CSSProperties["stroke"]; }; children?: React.ReactNode; dynamicChunkSize?: boolean; useLargeFileWorkaround?: boolean; maxFileSize?: number; chunkSize?: number; onUploadStart?: GenericEventListener; onChunkAttempt?: GenericEventListener; onChunkSuccess?: GenericEventListener; onUploadError?: GenericEventListener; onProgress?: GenericEventListener; onSuccess?: GenericEventListener; } & Omit, HTMLElement>, "ref"> & React.RefAttributes>; export { MuxUploaderDrop, MuxUploaderFileSelect, MuxUploaderProgress, MuxUploaderRetry, MuxUploaderPause, MuxUploaderStatus, }; export default MuxUploader;