import { exec as execNodejs, execFile as execFileNodejs } from 'node:child_process'; import type { SpawnOptions } from 'node:child_process'; import type { MastraLanguageModel, MastraLegacyLanguageModel } from '@mastra/core/agent'; import { ModelRouterLanguageModel } from '@mastra/core/llm'; import type { RequestContext } from '@mastra/core/request-context'; import type { UnitKind } from './types.js'; export declare const exec: typeof execNodejs.__promisify__; export declare const execFile: typeof execFileNodejs.__promisify__; export declare function spawn(command: string, args: string[], options: any): Promise; export declare function isGitInstalled(): Promise; export declare function isInsideGitRepo(cwd: string): Promise; export declare function spawnWithOutput(command: string, args: string[], options: SpawnOptions): Promise<{ stdout: string; stderr: string; code: number; }>; export declare function spawnSWPM(cwd: string, command: string, packageNames: string[]): Promise; export declare function kindWeight(kind: UnitKind): number; export declare function fetchMastraTemplates(): Promise>; export declare function getMastraTemplate(slug: string): Promise<{ slug: string; title: string; description: string; githubUrl: string; tags: string[]; agents: string[]; workflows: string[]; tools: string[]; }>; export declare function logGitState(targetPath: string, label: string): Promise; export declare function git(cwd: string, ...args: string[]): Promise<{ stdout: string; stderr: string; }>; export declare function gitClone(repo: string, destDir: string, cwd?: string): Promise; export declare function gitCheckoutRef(cwd: string, ref: string): Promise; export declare function gitRevParse(cwd: string, rev: string): Promise; export declare function gitAddFiles(cwd: string, files: string[]): Promise; export declare function gitAddAll(cwd: string): Promise; export declare function gitHasStagedChanges(cwd: string): Promise; export declare function gitCommit(cwd: string, message: string, opts?: { allowEmpty?: boolean; skipIfNoStaged?: boolean; }): Promise; export declare function gitAddAndCommit(cwd: string, message: string, files?: string[], opts?: { allowEmpty?: boolean; skipIfNoStaged?: boolean; }): Promise; export declare function gitCheckoutBranch(branchName: string, targetPath: string): Promise; export declare function backupAndReplaceFile(sourceFile: string, targetFile: string): Promise; export declare function renameAndCopyFile(sourceFile: string, targetFile: string): Promise; export declare const isValidMastraLanguageModel: (model: any) => model is MastraLanguageModel | MastraLegacyLanguageModel; export declare const resolveTargetPath: (inputData: any, requestContext: any) => string; export declare const mergeGitignoreFiles: (targetContent: string, templateContent: string, templateSlug: string) => string; export declare const mergeEnvFiles: (targetContent: string, templateVariables: Record, templateSlug: string) => string; export declare const detectAISDKVersion: (projectPath: string) => Promise<"v1" | "v2">; export declare const createModelInstance: (provider: string, modelId: string, version?: "v1" | "v2") => Promise; export declare const resolveModel: ({ requestContext, defaultModel, projectPath, }: { requestContext: RequestContext; defaultModel?: MastraLanguageModel | MastraLegacyLanguageModel | string; projectPath?: string; }) => Promise; //# sourceMappingURL=utils.d.ts.map