/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { Terminal } from "./terminal";
import type { TerminalApi } from "../../../api/terminal-api";
import type { DockTab, TabId } from "../dock/store";
import type { CreateTerminalApi } from "../../../api/create-terminal-api.injectable";
import type { CreateTerminal } from "./create-terminal.injectable";
export interface ITerminalTab extends DockTab {
    node?: string;
}
interface Dependencies {
    createTerminal: CreateTerminal;
    createTerminalApi: CreateTerminalApi;
}
export declare class TerminalStore {
    private dependencies;
    protected terminals: Map<string, Terminal>;
    protected connections: import("mobx").ObservableMap<string, TerminalApi>;
    constructor(dependencies: Dependencies);
    connect(tab: ITerminalTab): void;
    destroy(tabId: TabId): void;
    /**
     * @deprecated use `this.destroy()` instead
     */
    disconnect(tabId: TabId): void;
    reconnect(tabId: TabId): void;
    isConnected(tabId: TabId): boolean;
    isDisconnected(tabId: TabId): boolean;
    getTerminal(tabId: TabId): Terminal | undefined;
    getTerminalApi(tabId: TabId): TerminalApi | undefined;
    reset(): void;
}
export {};
