#!/usr/bin/env node
/// <reference types="node" />
import "./register";
import { ICompileContext } from "@/core/compiler";
import EventEmitter from "events";
import { IConfigManager } from "./config";
import { IArgumentParser } from "./core/compiler";
import { ICLI, ICLIOptions, ICLIResult } from "./interfaces/cli";
import { ILogger, IFileSystem } from "./utils";
export declare class CLI extends EventEmitter implements ICLI {
    private readonly deps;
    private readonly debug;
    private readonly exitOnError;
    isInitialized: boolean;
    private metrics;
    private startTime;
    constructor(deps: {
        logger: ILogger;
        configManager: IConfigManager;
        compiler: ICompileContext;
        argumentParser: IArgumentParser;
        fileSystem: IFileSystem;
    }, options?: ICLIOptions);
    private logDebug;
    initialize(): Promise<void>;
    cleanup(): void;
    private initializeMetrics;
    private setupEventListeners;
    private generateDefaultConfig;
    private validateRoot;
    run(): Promise<ICLIResult>;
}
