/**
 * WarmupExecutor - Executes warm-up strategies sequentially
 *
 * Opens files one at a time with configurable delay to trigger
 * LSP indexing without overwhelming the server.
 *
 * @see spec.md US-001: Language-Aware Warm-up
 * @satisfies AC-US1-05
 */
import type { WarmupStrategy, WarmupResult } from './strategy.js';
/**
 * Options for warm-up execution
 */
export interface WarmupOptions {
    /** Maximum number of files to open (default: 3) */
    openCount?: number;
    /** Delay between file opens in milliseconds (default: 100) */
    delayMs?: number;
    /** Callback when a file is opened */
    onFileOpen?: (file: string) => void;
    /** Callback when an error occurs */
    onError?: (file: string, error: Error) => void;
}
/**
 * Executes warm-up strategies with sequential file opening
 */
export declare class WarmupExecutor {
    private static readonly DEFAULT_OPEN_COUNT;
    private static readonly DEFAULT_DELAY_MS;
    /**
     * Execute a warm-up strategy
     *
     * @param strategy - The warm-up strategy to execute
     * @param projectRoot - Root directory of the project
     * @param options - Execution options
     * @returns Promise resolving to warm-up result
     * @throws Error if projectRoot is empty
     */
    warmup(strategy: WarmupStrategy, projectRoot: string, options?: WarmupOptions): Promise<WarmupResult>;
    private delay;
}
//# sourceMappingURL=executor.d.ts.map