import { FileInfo } from '../types/fileInput';
import { ReactNode, Dispatch, SetStateAction } from 'react';
interface FileProviderType {
    /** Array of files currently attached to the chat input */
    fileInput: FileInfo[];
    /** Update the file attachments */
    setFileInput: Dispatch<SetStateAction<FileInfo[]>>;
}
/**
 * Provides file attachment management for chat messages.
 * Stores files selected by the user before sending.
 *
 * @example
 * ```tsx
 * <FileProvider>
 *   <ChatInput />
 * </FileProvider>
 * ```
 */
export declare function FileProvider({ children }: {
    children: ReactNode;
}): import("react/jsx-runtime").JSX.Element;
/**
 * Hook to access file attachment state.
 * Use this to manage files attached to chat messages.
 *
 * @throws {Error} If used outside of FileProvider
 *
 * @example
 * ```tsx
 * const { fileInput, setFileInput } = useFileProvider();
 * ```
 */
export declare function useFileProvider(): FileProviderType;
export {};
//# sourceMappingURL=FileProvider.d.ts.map