import type { FabricComponentEntry } from "./types.js"; export type ComponentConfigScope = "session" | "global" | "project"; export interface ComponentConfigSource { scope: "global" | "project"; path: string; trusted: boolean; present: boolean; selected: boolean; } export interface ComponentConfigSnapshot { revision: string; entries: FabricComponentEntry[]; layers: { global: FabricComponentEntry[]; project?: FabricComponentEntry[]; }; sources: ComponentConfigSource[]; warnings: string[]; } export interface ComponentConfigurationStore { read(): ComponentConfigSnapshot; write(scope: "global" | "project", entries: FabricComponentEntry[], expectedRevision: string): ComponentConfigSnapshot; } export declare class FabricComponentConfiguration implements ComponentConfigurationStore { #private; readonly options: { cwd: string; agentDir: string; projectTrusted: () => boolean; }; readonly paths: readonly string[]; constructor(options: { cwd: string; agentDir: string; projectTrusted: () => boolean; }); read(): ComponentConfigSnapshot; write(scope: "global" | "project", entries: FabricComponentEntry[], expectedRevision: string): ComponentConfigSnapshot; } /** Stat watching handles missing files and atomic replacement on all supported hosts. */ export declare function watchComponentConfiguration(paths: readonly string[], changed: () => void): () => void; //# sourceMappingURL=configuration.d.ts.map