import { DialogRef, DialogService, SearchComponent, ThemeService } from '@alauda/ui';
import { ChangeDetectorRef, TemplateRef } from '@angular/core';
import { Terminal } from 'xterm';
import { SearchAddon } from 'xterm-addon-search';
import * as i0 from "@angular/core";
export interface XtermTerminalActionConfig {
    find?: boolean;
    copy?: boolean;
    fullscreen?: boolean;
    export?: boolean;
}
export declare const BASE_XTERM_TERMINAL_ACTIONS: {
    find: boolean;
    copy: boolean;
    fullscreen: boolean;
    export: boolean;
};
export declare class XtermTerminalComponent {
    private readonly dialog;
    cdr: ChangeDetectorRef;
    private readonly theme;
    logs: string | string[];
    actionConfig: XtermTerminalActionConfig;
    searchInputRef: SearchComponent;
    viewTemplateRef: TemplateRef<any>;
    terminal: Terminal;
    searchAddon: SearchAddon;
    searching: boolean;
    searchKeyword: string;
    fullscreenDialog: DialogRef<XtermTerminalComponent>;
    constructor(dialog: DialogService, cdr: ChangeDetectorRef, theme: ThemeService);
    theme$: import("rxjs").Observable<import("@alauda/ui").Theme>;
    toggleFullscreen(): void;
    openSearching(): void;
    onSearchInputKeyDown(event: KeyboardEvent): void;
    closeSearching(): void;
    private getSearchOptions;
    findNext(): void;
    findPrevious(): void;
    export(): void;
    private logsStringify;
    copy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<XtermTerminalComponent, [null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<XtermTerminalComponent, "acl-xterm-terminal", never, { "logs": { "alias": "logs"; "required": false; }; "actionConfig": { "alias": "actionConfig"; "required": false; }; }, {}, never, ["[aclXtermTerminalToolbarLeft]", "[aclXtermTerminalToolbarRight]"], true, never>;
}
