import { type JSONNode } from '@redneckz/json-op'; export type FilePath = string; export interface ListFilesOptions { dir?: string; ext?: string; size?: number; [key: string]: string | number | boolean | undefined; } export interface FileReaderAPI { readJSON(filePath: FilePath): Promise; } export interface FileAPI extends FileReaderAPI { listFiles(options: ListFilesOptions): Promise; downloadFiles(options: ListFilesOptions): Promise<[FilePath, JSONNode][]>; countFiles(options: ListFilesOptions): Promise; }