import { AfterViewChecked, AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
import { BaseComponent } from 'primeng/basecomponent';
import { Subscription } from 'rxjs';
import { TerminalStyle } from './style/terminalstyle';
import { TerminalService } from './terminalservice';
import * as i0 from "@angular/core";
import * as i1 from "primeng/api";
/**
 * Terminal is a text based user interface.
 * @group Components
 */
export declare class Terminal extends BaseComponent implements AfterViewInit, AfterViewChecked, OnDestroy {
    terminalService: TerminalService;
    /**
     * Initial text to display on terminal.
     * @group Props
     */
    welcomeMessage: string | undefined;
    /**
     * Prompt text for each command.
     * @group Props
     */
    prompt: string | undefined;
    /**
     * Inline style of the component.
     * @group Props
     */
    style: {
        [klass: string]: any;
    } | null | undefined;
    /**
     * Style class of the component.
     * @group Props
     */
    styleClass: string | undefined;
    commands: any[];
    command: string;
    container: Element;
    commandProcessed: boolean;
    subscription: Subscription;
    _componentStyle: TerminalStyle;
    inputEl: ElementRef<HTMLInputElement>;
    constructor(terminalService: TerminalService);
    ngAfterViewInit(): void;
    ngAfterViewChecked(): void;
    set response(value: string);
    handleCommand(event: KeyboardEvent): void;
    focus(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Terminal, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Terminal, "p-terminal", never, { "welcomeMessage": { "alias": "welcomeMessage"; "required": false; }; "prompt": { "alias": "prompt"; "required": false; }; "style": { "alias": "style"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "response": { "alias": "response"; "required": false; }; }, {}, never, never, true, never>;
}
export declare class TerminalModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<TerminalModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<TerminalModule, never, [typeof Terminal, typeof i1.SharedModule], [typeof Terminal, typeof i1.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<TerminalModule>;
}
