/** * Shared filesystem utilities for LocalFilesystem and LocalSkillSource. * * These utilities provide consistent implementations for common fs operations. */ /** * Expand a leading `~` or `~/` to the user's home directory. * Shell commands handle this automatically, but Node.js path APIs do not. */ export declare function expandTilde(p: string): string; /** * Full file stat information. * Used by both WorkspaceFilesystem and SkillSource. */ export interface FsStatResult { /** File or directory name */ name: string; /** 'file' or 'directory' */ type: 'file' | 'directory'; /** Size in bytes (0 for directories) */ size: number; /** Creation time */ createdAt: Date; /** Last modification time */ modifiedAt: Date; /** MIME type (for files) */ mimeType?: string; } /** * Check if an error is an ENOENT (file not found) error. */ export declare function isEnoentError(error: unknown): error is NodeJS.ErrnoException & { code: 'ENOENT'; }; /** * Check if an error is an EEXIST (file exists) error. */ export declare function isEexistError(error: unknown): error is NodeJS.ErrnoException & { code: 'EEXIST'; }; /** * Get MIME type for a filename based on extension. */ export declare function getMimeType(filename: string): string; /** * Check if a file should be treated as text based on extension. */ export declare function isTextFile(filename: string): boolean; /** * Resolve a path against a base directory. * * - Tilde (`~`) is expanded to the user's home directory. * - Absolute paths are normalized and returned as-is. * - Relative paths (including `../`) are resolved against `basePath`. * * @param basePath - The absolute base path to resolve against * @param filePath - The path to resolve * @returns The absolute resolved path */ export declare function resolveToBasePath(basePath: string, filePath: string): string; /** * Check if a path exists. * Never throws - returns false on any error. * * @param absolutePath - The absolute path to check * @returns true if path exists and is accessible */ export declare function fsExists(absolutePath: string): Promise; /** * Get file/directory stats. * Throws FileNotFoundError if path doesn't exist. * * @param absolutePath - The absolute path to stat * @param userPath - The user-facing path for error messages * @returns File stat information * @throws {FileNotFoundError} if path doesn't exist */ export declare function fsStat(absolutePath: string, userPath: string): Promise; //# sourceMappingURL=fs-utils.d.ts.map