import type { AstroIntegrationLogger } from 'astro'; import type { Files } from '../types'; export declare class FilesMapGraph { private _nodes; constructor(_nodes?: Map); getFilesMapByFolder(folder: string): FilesMap | undefined; allFilesMap(): IterableIterator; updateFilesMapByFolder(folder: string, logger: AstroIntegrationLogger): void; } export declare class FilesMap { readonly path: string; /** * Initialize the graph of nodes by connecting them to one another. * The graph is expected to be acyclic but this function won't throw any * exception if it isn't. * * Instead when a `FilesMap` is turned into a JSON file, a warning will be * printed if a cycle is found. * * @param folders initial folders found after a lookup. */ static initGraph(folders: string[], logger: AstroIntegrationLogger): Promise; private _extend; private _dependents; /** * Construct a new FileMap. To connect it to its graph, call * `FileMap.initGraph` or `init(graph)`. * * @param path resolved path of this file map. */ constructor(path: string); update(graph: Map, logger: AstroIntegrationLogger): void; extend(other: FilesMap): void; unlink(): void; allDependents(): Generator; toFiles(logger: AstroIntegrationLogger): Promise; private _toFilePathsCheckCycles; }