import { PathSpec, type FileStat } from '../../types.ts';
import type { LinkView } from '../../view/types.ts';
import { type PredNode } from './types.ts';
/** What a find walk filters by: the expression's predicates, parsed. */
export interface FindOptions {
    name?: string | null;
    type?: string | null;
    minSize?: number | null;
    maxSize?: number | null;
    maxDepth?: number | null;
    minDepth?: number | null;
    nameExclude?: string | null;
    orNames?: string[] | null;
    iname?: string | null;
    pathPattern?: string | null;
    empty?: boolean | null;
    tree?: PredNode | null;
    mtimeMin?: number | null;
    mtimeMax?: number | null;
}
export interface WalkFindDeps {
    readdir: (spec: PathSpec) => Promise<string[]>;
    stat: (spec: PathSpec) => Promise<FileStat>;
    follow?: LinkView | null;
    loops?: [string, string][];
    unreadable?: string[];
    unstatted?: Map<string, unknown>;
    enters?: (virtual: string) => boolean;
    listing?: (spec: PathSpec) => Promise<string[]>;
}
export declare function modifiedTs(modified: string | null): number | null;
export declare function walkFind(path: PathSpec, found: WalkFindDeps, options?: FindOptions): Promise<string[]>;
//# sourceMappingURL=find.d.ts.map