import * as Effect from "effect/Effect"; import * as FileSystem from "effect/FileSystem"; import * as Path from "effect/Path"; import { type AppError } from "../app-error/index.js"; import type { ExtensionType } from "../extensions/common.js"; import type { Handle } from "../extensions/handle.js"; import type { Settings } from "../settings/schema.js"; import { type AbsolutePath } from "../utils/path-types.js"; export { LOCK_FILENAME, SETTINGS_FILENAME } from "./constants.js"; export declare const RUNTIME_DIRECTORY = ".axm"; export interface ProjectWorkspaceLayout { readonly scope: "project"; readonly workspaceRoot: AbsolutePath; readonly projectRoot: AbsolutePath; readonly settingsPath: AbsolutePath; readonly lockPath: AbsolutePath; readonly runtimeDir: AbsolutePath; readonly acquiredRoot: AbsolutePath; readonly owner?: Handle; readonly authoredRoot: (type: ExtensionType) => AbsolutePath; } export interface UserWorkspaceLayout { readonly scope: "user"; readonly userHome: AbsolutePath; readonly axmHome: AbsolutePath; readonly workspaceRoot: AbsolutePath; readonly settingsPath: AbsolutePath; readonly lockPath: AbsolutePath; readonly runtimeDir: AbsolutePath; readonly acquiredRoot: AbsolutePath; readonly owner?: Handle; } export type WorkspaceLayout = ProjectWorkspaceLayout | UserWorkspaceLayout; export declare const resolveProjectWorkspaceStatePaths: (path: Path.Path, projectRoot: AbsolutePath) => { settingsPath: string & import("effect/Brand").Brand<"AbsolutePath">; lockPath: string & import("effect/Brand").Brand<"AbsolutePath">; runtimeDir: string & import("effect/Brand").Brand<"AbsolutePath">; acquiredRoot: string & import("effect/Brand").Brand<"AbsolutePath">; }; export declare const configuredAuthoredDirectory: (settings: Settings, type: ExtensionType) => string; export declare const resolveProjectWorkspaceLayout: (projectRoot: AbsolutePath, settings: Settings) => Effect.Effect; export declare const resolveUserWorkspaceLayout: (userHome: AbsolutePath, settings?: Settings) => Effect.Effect; //# sourceMappingURL=layout.d.ts.map