/**
 * Path Validation Utilities
 *
 * Provides utilities for validating file paths, resolving relative paths,
 * and ensuring security constraints for the file linking functionality.
 */
export interface PathValidationResult {
    isValid: boolean;
    resolvedPath?: string;
    error?: string;
}
export declare class PathValidationUtils {
    /**
     * Validate if a string is a known template name
     */
    static isTemplateName(value: string, availableTemplates: string[]): boolean;
    /**
     * Validate and resolve a file path
     */
    static validateFilePath(filePath: string, projectPath: string): Promise<PathValidationResult>;
    /**
     * Validate and resolve a file or directory path
     */
    static validateFileOrDirectoryPath(filePath: string, projectPath: string): Promise<PathValidationResult>;
    /**
     * Resolve a file path to absolute, handling various formats
     */
    static resolvePath(filePath: string, projectPath: string): string;
    /**
     * Check if a resolved path is within safe boundaries
     * Prevents directory traversal attacks
     */
    static isPathSafe(resolvedPath: string, projectPath: string): boolean;
    /**
     * Validate parameter as either template name or file path
     */
    static validateParameter(value: string, availableTemplates: string[], projectPath: string): Promise<{
        isTemplate: boolean;
        isFilePath: boolean;
        resolvedPath?: string;
        error?: string;
    }>;
    /**
     * Get common file patterns for documentation
     */
    static getCommonDocumentationPatterns(): {
        architecture: string[];
        requirements: string[];
        design: string[];
    };
}
/**
 * Cross-platform utility to extract the last component of a path.
 * Handles both forward slashes (/) and backslashes (\) regardless of
 * the platform the code is running on.
 *
 * Note: Node.js's `path.basename()` only handles the native path separator
 * for the current platform. This function normalizes paths to handle both
 * Unix and Windows paths on any platform.
 *
 * @param filePath - The file path to extract from
 * @param fallback - Fallback value if path is empty (default: 'unknown')
 * @returns The last component of the path, or the fallback value
 *
 * @example
 * // Unix-style paths
 * getPathBasename('/home/user/project') // 'project'
 *
 * // Windows-style paths (works on any platform)
 * getPathBasename('c:\\work\\project') // 'project'
 *
 * // Mixed paths
 * getPathBasename('c:/work/project') // 'project'
 */
export declare function getPathBasename(filePath: string, fallback?: string): string;
