import type { ProjectContext } from "./project.js"; /** What a package file is, from its extension. */ export type PackageKind = "asset" | "map"; export interface ContentEntry { /** The mount path an editor would call this package, e.g. /Game/Foo/Bar. */ assetPath: string; name: string; kind: PackageKind; /** Absolute path of the package file on disk. */ file: string; sizeBytes: number; modified: string; } export interface ContentListing { /** The mount path that was listed. */ contentPath: string; /** The directory it resolved to. */ directory: string; recursive: boolean; count: number; /** True when maxResults cut the walk short. */ truncated: boolean; assets: ContentEntry[]; note: string; } export interface ListContentOptions { /** A mount path: /Game, /Game/Characters, or a plugin's /MyPlugin. */ contentPath?: string; recursive?: boolean; maxResults?: number; /** Case-insensitive substring the package name has to contain. */ namePattern?: string; } /** * List the packages under one mount path. * * `maxResults` stops the walk rather than trimming the result, so a huge * Content tree costs the caller a bounded amount of I/O and the answer says it * was cut short. */ export declare function listContent(project: ProjectContext, options?: ListContentOptions): ContentListing;