import { FileUploadState } from "./types";
import { LucideIcon } from "lucide-react";
import React from "react";
/**
 * Gets the appropriate Lucide icon component for a file
 * @param filename - The name of the file
 * @returns The Lucide icon component for the file's category
 */
export declare const getFileIcon: (filename: string) => LucideIcon;
export declare const formatFileSize: (bytes: number) => string;
export declare const getCurrentState: (disabled: boolean, dragActive: boolean) => FileUploadState;
export declare const createClickHandler: <T extends unknown[]>(callback: (...args: T) => void, ...args: T) => (e: React.MouseEvent<HTMLButtonElement>) => void;
export declare const getFileNameWithoutExtension: (fileName: string) => string;
/**
 * Checks if a file matches the accepted file types
 * @param file - The file to validate
 * @param accept - Array of accepted file types (MIME types or extensions)
 * @returns True if file is accepted, false otherwise
 */
export declare const isFileTypeAccepted: (file: File, accept: string[]) => boolean;
/**
 * Filters files based on the accepted file types
 * @param files - Array of files to filter
 * @param accept - Array of accepted file types
 * @returns Array of files that match the accept criteria
 */
export declare const filterAcceptedFiles: (files: File[], accept: string[]) => File[];
//# sourceMappingURL=helpers.d.ts.map