import { type AiSkillDependency, type AiSkillLinkMode, type AiSkillMode, type AiSkillTarget, type EnvVarDefinition, type FileOperation, type ManifestExpectedFile, type NativeInitializerMutationPolicy, type NativeInitializerPhase, type StackkitConfig, type StackkitManifest, type StackkitManifestSource, type StackkitModule, type StackkitPreset } from "@berkayorhan/stackkit-schemas"; import { type RunCommand } from "./package-manager.js"; import { type FilePlan, type ManifestFileRecord } from "./file-plan.js"; import { type AiSkillInstallCommand } from "./skills.js"; export type CreatePlan = { schemaVersion: 1; operation: "create"; dryRun: true; projectName: string; packageManager: StackkitConfig["packageManager"]; source: StackkitManifestSource; targetDirectoryName: string; filePlan: FilePlan; warnings: string[]; modules: { id: string; version: string; }[]; selectedModules: StackkitModule[]; aiSkills: { mode: AiSkillMode; linkMode: AiSkillLinkMode; targets: AiSkillTarget[]; resolved: AiSkillDependency[]; planned: AiSkillDependency[]; local: AiSkillDependency[]; unresolved: AiSkillDependency[]; }; skillInstallCommands: AiSkillInstallCommand[]; nativeInitializers: PlannedNativeInitializer[]; }; export type PlannedNativeInitializer = { moduleId: string; name: string; phase: NativeInitializerPhase; command: string; args: string[]; cwd: string; mutationPolicy: NativeInitializerMutationPolicy; expectedFiles: string[]; redactExpectedFiles: string[]; }; export type CreatePlanInput = { config: StackkitConfig; source?: StackkitManifestSource; availableModules: readonly StackkitModule[]; availablePresets?: readonly StackkitPreset[]; curatedSkillSourceAllowlist?: readonly string[]; }; export type ApplyCreatePlanOptions = { parentDirectory: string; targetDirectory?: string; stackkitVersion?: string; now?: () => Date; installSkills?: boolean; runCommand?: RunCommand; }; export type ApplyCreatePlanResult = { projectDirectory: string; manifest: StackkitManifest; doctor: import("@berkayorhan/stackkit-schemas").DoctorResult; }; export declare function createCreatePlan(input: CreatePlanInput): CreatePlan; export declare function renderCreateFiles(config: StackkitConfig, modules: readonly StackkitModule[]): FileOperation[]; export declare function applyCreatePlan(plan: CreatePlan, options: ApplyCreatePlanOptions): Promise; export declare function planEnvExampleFiles(projectDirectory: string, envVars: readonly EnvVarDefinition[]): Promise; export declare function applyEnvExamples(projectDirectory: string, envVars: readonly EnvVarDefinition[]): Promise; export declare function buildExpectedManagedFilePlan(manifest: StackkitManifest): FilePlan; export declare function buildReconstructedManagedFilePlan(manifest: StackkitManifest): FilePlan; export declare function manifestModuleToStackkitModule(module: StackkitManifest["modules"][number]): StackkitModule; export declare function filePlanToExpectedFiles(plan: FilePlan): ManifestExpectedFile[]; export declare function expectedFilesToFilePlan(expectedFiles: readonly ManifestExpectedFile[]): FilePlan; export declare function snapshotStackkitModule(module: StackkitModule): StackkitModule; export declare function renderEnvExampleFiles(existingContent: string, envVars: readonly EnvVarDefinition[], separator?: string): FileOperation[]; export declare function mergeCreateFileOperations(operations: readonly FileOperation[]): FileOperation[]; //# sourceMappingURL=create.d.ts.map