import type { Signal } from '@wix/services-definitions/core-services/signals'; export interface UploadState { type: 'idle' | 'loading' | 'success' | 'error'; message: string; progress?: number; } export interface FileValidationRules { maxFileSize?: number; allowedTypes?: string[]; allowedExtensions?: string[]; } export interface FileUploadServiceAPI { selectedFile: Signal; uploadState: Signal; dragOver: Signal; previewUrl: Signal; validationRules: FileValidationRules; selectFile: (file: File) => void; clearFile: () => void; uploadFile: () => Promise; setDragOver: (isDragOver: boolean) => void; validateFile: (file: File) => { isValid: boolean; error?: string; }; canPreview: (file: File) => boolean; } export declare const FileUploadServiceDefinition: string & { __api: FileUploadServiceAPI; __config: {}; isServiceDefinition?: boolean; } & FileUploadServiceAPI; export interface FileUploadServiceConfig { maxFileSize?: number; allowedTypes?: string[]; allowedExtensions?: string[]; uploadAction: (file: File) => Promise; onUploadSuccess?: (result: any) => Promise | void; onUploadError?: (error: any) => Promise | void; } export declare const FileUploadService: import("@wix/services-definitions").ServiceFactory; export declare function loadFileUploadServiceConfig(): Promise>;