import * as Context from 'effect/Context'; import * as Effect from 'effect/Effect'; import * as FileSystem from 'effect/FileSystem'; import * as Layer from 'effect/Layer'; import * as Option from 'effect/Option'; import * as Path from 'effect/Path'; import { McpConfigError } from './Errors.js'; import * as Mcp from './Mcp.js'; import * as Plugin from './Plugin.js'; import * as Settings from './Settings.js'; /** * Configuration for `ClaudeProject.layer`. * * @category Models * @since 0.1.0 */ export interface ClaudeProjectOptions { readonly cwd: string; readonly pluginRoot?: string; readonly mcpPath?: string; } /** * Explicit cache invalidators for the project service. * * @category Models * @since 0.1.0 */ export interface ClaudeProjectInvalidate { readonly settings: Effect.Effect; readonly mcp: Effect.Effect; readonly plugin: Effect.Effect; readonly all: Effect.Effect; } export declare namespace ClaudeProject { /** * The project service interface. * * @category Service * @since 0.1.0 */ export interface Interface { readonly cwd: string; readonly pluginRoot: string; readonly mcpPath: string; readonly settings: Effect.Effect; readonly mcp: Effect.Effect, McpConfigError>; readonly plugin: Effect.Effect; readonly skill: (name: string) => Effect.Effect, import('./Errors.js').PluginLoadError>; readonly command: (name: string) => Effect.Effect, import('./Errors.js').PluginLoadError>; readonly agent: (name: string) => Effect.Effect, import('./Errors.js').PluginLoadError>; readonly outputStyle: (name: string) => Effect.Effect, import('./Errors.js').PluginLoadError>; readonly invalidate: ClaudeProjectInvalidate; } const Service_base: Context.ServiceClass; /** * The project service tag. * * @category Service * @since 0.1.0 */ export class Service extends Service_base { } /** * Construct the project service layer. * * @category Layers * @since 0.1.0 */ export const layer: (options: ClaudeProjectOptions) => Layer.Layer; export {}; } /** * Effectful access to the full project service. * * @category Accessors * @since 0.1.0 */ export declare const project: Effect.Effect; /** * Effectful access to the cached settings loader. * * @category Accessors * @since 0.1.0 */ export declare const settings: Effect.Effect; /** * Effectful access to the cached optional MCP config. * * @category Accessors * @since 0.1.0 */ export declare const mcp: Effect.Effect, McpConfigError, ClaudeProject.Service>; /** * Effectful access to the cached plugin definition. * * @category Accessors * @since 0.1.0 */ export declare const plugin: Effect.Effect; //# sourceMappingURL=ClaudeProject.d.ts.map