import { Injector, OnInit } from '@angular/core';
import { CliOptions, ICliUserSessionService } from '@qodalis/cli-core';
import { CliCommandExecutorService, CliCommandHistoryService } from './services';
import { CliKeyValueStore } from './storage/cli-key-value-store';
import { ITerminalInitOnlyOptions, ITerminalOptions, Terminal } from '@xterm/xterm';
import { BehaviorSubject } from 'rxjs';
import { ContainerSize } from '../cli-terminal/cli-terminal.component';
import * as i0 from "@angular/core";
export declare class CliComponent implements OnInit {
    private injector;
    private readonly userManagementService;
    private commandExecutor;
    private readonly commandHistoryService;
    private readonly store;
    options?: CliOptions;
    height?: ContainerSize;
    protected terminalOptions: ITerminalOptions & ITerminalInitOnlyOptions;
    private terminal;
    private currentLine;
    private executionContext?;
    private currentUserSession;
    protected minDepsInitialized: BehaviorSubject<boolean>;
    protected terminalInitialized: BehaviorSubject<boolean>;
    constructor(injector: Injector, userManagementService: ICliUserSessionService, commandExecutor: CliCommandExecutorService, commandHistoryService: CliCommandHistoryService, store: CliKeyValueStore);
    ngOnInit(): void;
    protected onTerminalReady(terminal: Terminal): void;
    private initialize;
    private getTerminalCursorPosition;
    private selectionStart;
    private selectionEnd;
    private addTerminalEventListeners;
    private updateSelection;
    private printPrompt;
    private historyIndex;
    private cursorPosition;
    private handleInput;
    private normalizeText;
    private handleInputText;
    private refreshCurrentLine;
    private writeCurrentLine;
    private showPreviousCommand;
    private showNextCommand;
    private displayCommandFromHistory;
    private clearCurrentLine;
    private moveCursorLeft;
    private moveCursorRight;
    private handleBackspace;
    static ɵfac: i0.ɵɵFactoryDeclaration<CliComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CliComponent, "cli", never, { "options": { "alias": "options"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, false, never>;
}
