declare namespace locatePath { interface Options { /** Current working directory. @default process.cwd() */ readonly cwd?: string; /** Type of path to match. @default 'file' */ readonly type?: 'file' | 'directory'; /** Allow symbolic links to match if they point to the requested path type. @default true */ readonly allowSymlinks?: boolean; } interface AsyncOptions extends Options { /** Number of concurrently pending promises. Minimum: `1`. @default Infinity */ readonly concurrency?: number; /** Preserve `paths` order when searching. Disable this to improve performance if you don't care about the order. @default true */ readonly preserveOrder?: boolean; } } declare const locatePath: { /** Get the first path that exists on disk of multiple paths. @param paths - Paths to check. @returns The first path that exists or `undefined` if none exists. @example ``` import locatePath = require('locate-path'); const files = [ 'unicorn.png', 'rainbow.png', // Only this one actually exists on disk 'pony.png' ]; (async () => { console(await locatePath(files)); //=> 'rainbow' })(); ``` */ (paths: Iterable<string>, options?: locatePath.AsyncOptions): Promise< string | undefined >; /** Synchronously get the first path that exists on disk of multiple paths. @param paths - Paths to check. @returns The first path that exists or `undefined` if none exists. */ sync( paths: Iterable<string>, options?: locatePath.Options ): string | undefined; }; export = locatePath;