import type { ResolvedConfig } from "../core/ports/config.port.js"; import { BuildProjectMapUseCase } from "../features/build/build.use-case.js"; import { DetectFactsUseCase } from "../features/detect/detect.use-case.js"; import { FilesystemAnalysisUnitMaterializer } from "../infrastructure/analysis-unit/materializer.js"; import { SystemClock } from "../infrastructure/clock/system.js"; import { CosmiconfigLoader } from "../infrastructure/config/loader.js"; import { GlobbyWalker } from "../infrastructure/filesystem/globby-walker.js"; import { NodeFileReader, NodeFileWriter } from "../infrastructure/filesystem/node-fs.js"; import { ConsoleLogger } from "../infrastructure/logger/console.js"; import { TreeSitterParserRegistry } from "../infrastructure/parser/tree-sitter.js"; import { GitRevisionProvider } from "../infrastructure/revision/git.js"; import { InitConfigUseCase } from "../features/init/init.use-case.js"; import { InstallClaudeHookUseCase } from "../features/install-hooks/install-claude-hook.use-case.js"; import { InstallClaudeSkillUseCase } from "../features/install-hooks/install-claude-skill.use-case.js"; import { InstallGitHookUseCase } from "../features/install-hooks/install-git-hook.use-case.js"; import { PrintVersionUseCase } from "../features/version/version.use-case.js"; export type Container = { toolVersion: string; logger: ConsoleLogger; reader: NodeFileReader; writer: NodeFileWriter; walker: GlobbyWalker; clock: SystemClock; revision: GitRevisionProvider; configLoader: CosmiconfigLoader; parser: TreeSitterParserRegistry; }; export declare function createContainer(toolVersion: string, verbose: boolean): Container; export declare function analysisUnitMaterializer(c: Container, monorepoRoot: string | null): FilesystemAnalysisUnitMaterializer; export declare function detectUseCase(parser: TreeSitterParserRegistry): DetectFactsUseCase; export declare function buildUseCase(c: Container, config: ResolvedConfig): BuildProjectMapUseCase; export declare function initUseCase(c: Container): InitConfigUseCase; export declare function versionUseCase(c: Container): PrintVersionUseCase; export declare function installGitHookUseCase(c: Container): InstallGitHookUseCase; export declare function installClaudeHookUseCase(c: Container): InstallClaudeHookUseCase; export declare function installClaudeSkillUseCase(c: Container): InstallClaudeSkillUseCase;