import { Result, log } from '@backtrace/sourcemap-tools';
export interface FindResult {
    readonly path: string;
    readonly findPath: string;
    /**
     * Whether the file was found with recursive search, or was specified directly via glob.
     */
    readonly direct: boolean;
}
export interface FindFileTuple {
    readonly file1: FindResult;
    readonly file2?: string;
}
/**
 * Returns files found in directories matching `regex`. If path is a file, it is returned if it matches `regex`.
 * @param regex Regular expression pattern to match.
 * @param paths Paths to search in.
 * @returns Result with file paths.
 */
export declare function find(paths: string[]): Promise<FindResult[]>;
export declare function includesFindResult(includes: FindResult[]): (result: FindResult) => boolean;
export declare function buildIncludeExclude(includePaths: string[] | undefined, excludePaths: string[] | undefined, logger: ReturnType<typeof log>): Promise<{
    readonly isIncluded: ((result: FindResult) => Promise<boolean>) | undefined;
    readonly isExcluded: ((result: FindResult) => Promise<boolean>) | undefined;
}>;
export declare function findTuples(paths: string[]): Promise<Result<FindFileTuple[], string>>;
export declare const file2Or1FromTuple: ({ file1, file2 }: FindFileTuple) => FindResult;
