import type { GitHubAccessor } from '../../accessor/github.ts';
import type { IndexCacheStore } from '../../cache/index/store.ts';
import { FileStat, type PathSpec } from '../../types.ts';
/**
 * Every entry under a directory of the repository, each as its row, from one
 * recursive tree. Null when GitHub truncates that tree, which then names only
 * some paths, or when `path` is no directory in it, so the walk's readdir and
 * stat report what is there. Mirrors `tree` in `mirage/core/github/stat.py`.
 */
export declare function tree(accessor: GitHubAccessor, path: PathSpec): Promise<Map<string, FileStat> | null>;
/**
 * Stat one path in the repository.
 *
 * A path answers with its row, as its folder's listing names it. The gate's
 * check is handed no listed row, so it asks for the one path with one
 * directory listing, its parent's; a parent it cannot see, and a truncated
 * listing without the name, are no answer, so the whole tree is asked
 * instead, and one GitHub truncates is walked down from the ref one directory
 * at a time.
 *
 * Mirrors Python's `stat`.
 */
export declare function stat(accessor: GitHubAccessor, path: PathSpec, entry?: FileStat | null, index?: IndexCacheStore): Promise<FileStat>;
//# sourceMappingURL=stat.d.ts.map