/**
 * Resource Path Resolvers
 * Issue #136: Phase 1 - Task 1.2
 *
 * Provides Strategy pattern implementation for resolving resource paths:
 * - Database paths (cm.db, cm-{issueNo}.db)
 * - PID file paths (.commandmate.pid, pids/{issueNo}.pid)
 * - Log file paths (commandmate.log, commandmate-{issueNo}.log)
 *
 * SF-SEC-001: TOCTOU protection via try-catch pattern in validate()
 *
 * @module resource-resolvers
 */
/**
 * Interface for resource path resolvers
 * Strategy pattern for unified resource path handling
 */
export interface ResourcePathResolver {
    /**
     * Resolve the path for a resource
     * @param issueNo - Optional issue number for worktree-specific resources
     * @returns Absolute path to the resource
     */
    resolve(issueNo?: number): string;
    /**
     * Validate that a path is within the allowed directory
     * SF-SEC-001: Uses try-catch pattern for TOCTOU protection
     *
     * @param targetPath - Path to validate
     * @returns true if path is valid and within allowed boundaries
     */
    validate(targetPath: string): boolean;
}
/**
 * Database path resolver
 *
 * @example
 * ```typescript
 * const resolver = new DbPathResolver();
 * resolver.resolve(); // ~/.commandmate/data/cm.db
 * resolver.resolve(135); // ~/.commandmate/data/cm-135.db
 * ```
 */
export declare class DbPathResolver implements ResourcePathResolver {
    resolve(issueNo?: number): string;
    validate(targetPath: string): boolean;
}
/**
 * PID file path resolver
 *
 * Maintains backward compatibility:
 * - No issueNo: ~/.commandmate/.commandmate.pid (main server)
 * - With issueNo: ~/.commandmate/pids/{issueNo}.pid (worktree server)
 *
 * @example
 * ```typescript
 * const resolver = new PidPathResolver();
 * resolver.resolve(); // ~/.commandmate/.commandmate.pid
 * resolver.resolve(135); // ~/.commandmate/pids/135.pid
 * ```
 */
export declare class PidPathResolver implements ResourcePathResolver {
    resolve(issueNo?: number): string;
    validate(targetPath: string): boolean;
}
/**
 * Log file path resolver
 *
 * @example
 * ```typescript
 * const resolver = new LogPathResolver();
 * resolver.resolve(); // ~/.commandmate/logs/commandmate.log
 * resolver.resolve(135); // ~/.commandmate/logs/commandmate-135.log
 * ```
 */
export declare class LogPathResolver implements ResourcePathResolver {
    resolve(issueNo?: number): string;
    validate(targetPath: string): boolean;
}
/**
 * Factory function for DbPathResolver
 */
export declare function createDbPathResolver(): DbPathResolver;
/**
 * Factory function for PidPathResolver
 */
export declare function createPidPathResolver(): PidPathResolver;
/**
 * Factory function for LogPathResolver
 */
export declare function createLogPathResolver(): LogPathResolver;
//# sourceMappingURL=resource-resolvers.d.ts.map