/**
 * Unified Temporary Directory Manager
 *
 * Manages temporary directories for CLI operations using hash-based naming.
 * This provides a single location for all temp files per operation, making
 * cleanup simple and Docker mounting straightforward.
 */
export interface TempDirPaths {
    root: string;
    nodeModules: string;
    cache: string;
    bundle: string;
    entry: string;
}
/**
 * Manages a unified temporary directory structure for CLI operations
 */
export declare class TempDirManager {
    private hash;
    readonly paths: TempDirPaths;
    /**
     * Create a new TempDirManager with hash-based directory naming
     *
     * @param configPath - Path to the config file (used in hash)
     * @param operation - Operation type ('bundle' | 'simulate')
     * @param timestamp - Optional timestamp for uniqueness (defaults to Date.now())
     */
    static create(configPath: string, operation: 'bundle' | 'simulate', timestamp?: number): Promise<TempDirManager>;
    constructor(hash: string);
    /**
     * Initialize the temporary directory structure
     */
    initialize(): Promise<void>;
    /**
     * Clean up the temporary directory
     */
    cleanup(): Promise<void>;
    /**
     * Get the hash used for this temp directory
     */
    getHash(): string;
    /**
     * Get a path within the temp directory
     */
    getPath(...parts: string[]): string;
    /**
     * Check if the temp directory exists
     */
    exists(): Promise<boolean>;
}
//# sourceMappingURL=temp-manager.d.ts.map