import { EventEmitter, QueryList, TemplateRef } from '@angular/core';
import { ConnectionStatus } from '../constants';
import { TerminalComponent } from '../terminal/component';
import { TerminalOption } from '../types';
import * as i0 from "@angular/core";
export declare class TerminalExtraContentDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TerminalExtraContentDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TerminalExtraContentDirective, "[aclTerminalExtraContent]", never, {}, {}, never, never, false>;
}
export declare class TerminalGroupComponent {
    ConnectionStatus: typeof ConnectionStatus;
    selectedIndex: number;
    terminalOptions: TerminalOption[];
    terminalExtraContentRef: TemplateRef<TerminalExtraContentDirective>;
    readonly selectedIndexChange: EventEmitter<number>;
    readonly terminalOptionsChange: EventEmitter<TerminalOption[]>;
    readonly socketReady: EventEmitter<{
        option: TerminalOption;
        socket: WebSocket;
        index: number;
    }>;
    readonly fallbackShell: EventEmitter<{
        option: TerminalOption;
        shell: string;
    }>;
    terminals: QueryList<TerminalComponent>;
    statusMap: Map<TerminalOption, ConnectionStatus>;
    removeTerminal(index: number): void;
    trackByOption(_: number, option: TerminalOption): TerminalOption;
    handleConnectionStatusChange(option: TerminalOption, status: ConnectionStatus): void;
    reconnect(index: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TerminalGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TerminalGroupComponent, "acl-terminal-group", never, { "selectedIndex": "selectedIndex"; "terminalOptions": "terminalOptions"; }, { "selectedIndexChange": "selectedIndexChange"; "terminalOptionsChange": "terminalOptionsChange"; "socketReady": "socketReady"; "fallbackShell": "fallbackShell"; }, ["terminalExtraContentRef"], never, false>;
}
