import type { SkillPackage, DownloadResult, Skill } from '../types.js';
import type { AppFlags, InstalledSkill, CcSwitchSdk } from '@cc-switch/sdk';
export declare function ensureDir(targetDir: string): Promise<string>;
export declare function withFileLock<T>(targetPath: string, operation: () => Promise<T>): Promise<T>;
export declare function atomicWriteFile(targetPath: string, content: string): Promise<void>;
export declare function atomicWriteJsonFile(targetPath: string, value: unknown): Promise<void>;
export declare function downloadSkillZip(skillPackage: SkillPackage, targetDir: string): Promise<DownloadResult | null>;
export declare function runCommand(command: string, args: string[]): Promise<void>;
export declare function escapePowerShellLiteral(text: string): string;
export declare function extractSkillZip(zipFilePath: string, extractRootDir: string): Promise<void>;
export declare function resolveSkillSourceDirFromExtractRoot(extractRootDir: string): Promise<string>;
export declare function toSdkAppsFromEnabledTools(enabledTools: string[]): AppFlags;
export declare function resolveSkillSourceDir(skill: Skill): string;
export declare function ensureDirectoryExists(directoryPath: string): Promise<void>;
export declare function installSkillPackageToSdk(sdk: CcSwitchSdk, skillPackage: SkillPackage, skillDir: string, sdkApps: AppFlags): Promise<InstalledSkill | null>;
//# sourceMappingURL=file-utils.d.ts.map