/**
 * Project file loader
 *
 * Loads project-owned files (typically config modules) from the project root.
 *
 * Usage:
 *  - useFileLoader('config/mail.ts').get<TypeMail>()
 *  - useFileLoader('config', 'mail.ts').get<TypeMail>()
 */
export type FileLoader = Readonly<{
    /** Absolute filesystem candidates (in resolution order). */
    candidates: () => readonly string[];
    /** Returns the first existing candidate path (or the first candidate if none exist). */
    path: () => string;
    /** Whether any candidate exists on disk. */
    exists: () => boolean;
    /**
     * Loads the file via ESM dynamic import and returns:
     * - `default` export when present
     * - otherwise the full module namespace object
     */
    get: <T = unknown>() => Promise<T>;
}>;
export declare const useFileLoader: (...args: [string] | [string, ...string[]]) => FileLoader;
export default useFileLoader;
//# sourceMappingURL=useFileLoader.d.ts.map