/** Cached scoped state-source loaders for `axm.json` and `axm-lock.yaml`. */ import * as Effect from "effect/Effect"; import type * as FileSystem from "effect/FileSystem"; import * as Option from "effect/Option"; import type * as Path from "effect/Path"; import { type Lockfile } from "../../lockfile/schema.js"; import { type Settings } from "../../settings/schema.js"; import { LockfileIoError, type LockfileReadError, SettingsIoError, type SettingsReadError } from "./errors.js"; import type { Scope } from "./types.js"; /** Decoded `axm.json` payload exposed by the settings cell. */ export type DecodedSettings = Settings; /** Decoded `axm-lock.yaml` payload exposed by the lockfile cell. */ export type DecodedLockfile = Lockfile; /** Raw bytes of a workspace source file (path + literal content). */ export interface RawSourceBytes { readonly path: string; readonly bytes: string; } /** Cached decoded settings/lockfile cells plus their raw-bytes siblings. */ export interface ScopedStateLoaders { readonly settings: Effect.Effect, SettingsReadError>; readonly lockfile: Effect.Effect, LockfileReadError>; readonly settingsRaw: Effect.Effect, SettingsIoError>; readonly lockfileRaw: Effect.Effect, LockfileIoError>; } /** Construction inputs captured and threaded into every cached loader. */ export interface ScopedStateDeps { readonly fs: FileSystem.FileSystem; readonly path: Path.Path; readonly settingsPath: string; readonly lockfilePath: string | null; } /** Build the cached, requirement-free `ScopedStateLoaders` for one scope. */ export declare const makeScopedStateApi: (_scope: Scope, deps: ScopedStateDeps) => Effect.Effect; //# sourceMappingURL=state.d.ts.map