import type { Logger } from '../util/logger.js';
export declare const checkIsDir: (filePath: string) => Promise<void>;
export declare const checkIsDirSync: (filePath: string) => void;
export declare const createDirIfNeeded: (filePath: string) => Promise<void>;
export declare const createDirSyncIfNeeded: (filePath: string) => void;
export declare const relativePathIsFile: (baseDir: string, fileRelPath: string, filenamePattern?: RegExp) => Promise<boolean>;
export declare const listFilesInDirectory: (baseDir: string, filenamePattern?: RegExp) => Promise<string[]>;
export type FileWatcherConfig = {
    baseDir: string;
    filenamePattern?: RegExp;
    fileType?: 'json' | 'text';
    logger?: Logger;
    pollingDelayMs?: number;
    signal?: AbortSignal;
};
export declare const watchFiles: (config: FileWatcherConfig) => Promise<{
    onFile: (listener: (name: string, data: unknown) => void) => void;
}>;
