export declare const SyncTemplateAction: { readonly 同步: "sync"; readonly 新增: "add"; readonly 删除: "delete"; readonly 退出: "exit"; }; export type SyncTemplateAction = (typeof SyncTemplateAction)[keyof typeof SyncTemplateAction]; export interface SelectSyncTemplateActionAnswer { action: SyncTemplateAction; } export interface AddTemplateProjectAnswer { projectPath: string; } export interface DeleteTemplateProjectsAnswer { projectPaths: string[]; } export interface SelectSyncTemplateProjectsAnswer { projectPaths: string[]; } export interface SyncTemplateProjectParams { projectPath: string; index: number; total: number; } export interface GetGitCommandErrorMessageParams { error: unknown; } export interface RunGitCommandParams { cwd: string; command: string; } export interface CheckGitRefExistsParams { cwd: string; ref: string; } export interface CheckMergeConflictParams { cwd: string; sourceBranch: string; } export interface ResolveBranchCommitHashParams { cwd: string; branch: string; } export interface SyncTemplateProjectsParams { templateProjects: string[]; } export interface SelectSyncTemplateProjectsParams { templateProjects: string[]; } export interface CheckSyncProjectAvailableParams { projectPath: string; } export interface CheckSyncProjectAvailableResult { isAvailable: boolean; reason?: string; } export interface ConfirmDeleteInvalidTemplateProjectParams { projectPath: string; reason: string; } export interface HasTemplateRemoteParams { cwd: string; } export interface ConfirmDeleteInvalidTemplateProjectAnswer { shouldDelete: boolean; } export interface PrintTemplateProjectsParams { templateProjects: string[]; } export interface AddTemplateProjectsParams { templateProjects: string[]; } export interface DeleteTemplateProjectsParams { templateProjects: string[]; } export interface PrintFailedSyncTemplateProjectsParams { failedProjectPaths: string[]; } export declare function syncTemplate(): Promise; export declare function getTemplateProjects(templateProjects?: string[]): string[]; export declare function printTemplateProjects({ templateProjects }: PrintTemplateProjectsParams): void; export declare function selectSyncTemplateAction(): Promise; export declare function addTemplateProjects({ templateProjects }: AddTemplateProjectsParams): Promise; export declare function deleteTemplateProjects({ templateProjects }: DeleteTemplateProjectsParams): Promise; export declare function syncTemplateProjects({ templateProjects }: SyncTemplateProjectsParams): Promise; export declare function selectSyncTemplateProjects({ templateProjects }: SelectSyncTemplateProjectsParams): Promise; export declare function checkSyncProjectAvailable({ projectPath }: CheckSyncProjectAvailableParams): Promise; export declare function confirmDeleteInvalidTemplateProject({ projectPath, reason }: ConfirmDeleteInvalidTemplateProjectParams): Promise; export declare function isGitRepository(cwd: string): Promise; export declare function hasTemplateRemote({ cwd }: HasTemplateRemoteParams): Promise; export declare function printFailedSyncTemplateProjects({ failedProjectPaths }: PrintFailedSyncTemplateProjectsParams): void; export declare function syncTemplateProject({ projectPath, index, total }: SyncTemplateProjectParams): Promise; export declare function ensureGitRepository(cwd: string): Promise; export declare function ensureNoGitChanges(cwd: string): Promise; export declare function resolveDefaultBranch(cwd: string): Promise<"main" | "master">; export interface ResolveTemplateBranchParams { cwd: string; defaultBranch: string; } export declare function resolveTemplateBranch({ cwd, defaultBranch }: ResolveTemplateBranchParams): Promise; export declare function checkMergeConflict({ cwd, sourceBranch }: CheckMergeConflictParams): Promise; export declare function resolveBranchCommitHash({ cwd, branch }: ResolveBranchCommitHashParams): Promise; export declare function abortMergeIfNeeded(cwd: string): Promise; export declare function isMergeInProgress(cwd: string): Promise; export declare function runGitCommand({ cwd, command }: RunGitCommandParams): Promise; export declare function checkGitRefExists({ cwd, ref }: CheckGitRefExistsParams): Promise; export declare function isDirectory(projectPath: string): Promise; export declare function getGitCommandErrorMessage({ error }: GetGitCommandErrorMessageParams): string;