import { ServerConnection, Terminal } from '@jupyterlab/services';
import { IExternalCommand, IStdinReply, IStdinRequest } from '@jupyterlite/cockle';
import { ILiteTerminalAPIClient } from './tokens';
export declare class LiteTerminalAPIClient implements ILiteTerminalAPIClient {
    constructor(options?: {
        serverSettings?: ServerConnection.ISettings;
    });
    /**
     * Set identifier for communicating with service worker.
     */
    set browsingContextId(browsingContextId: string);
    /**
     * Function that handles stdin requests received from service worker.
     */
    handleStdin(request: IStdinRequest): Promise<IStdinReply>;
    get isAvailable(): boolean;
    readonly serverSettings: ServerConnection.ISettings;
    startNew(options?: Terminal.ITerminal.IOptions): Promise<Terminal.IModel>;
    listRunning(): Promise<Terminal.IModel[]>;
    registerExternalCommand(options: IExternalCommand.IOptions): void;
    shutdown(name: string): Promise<void>;
    private get _models();
    private _nextAvailableName;
    private _browsingContextId?;
    private _externalCommands;
    private _shellManager;
    private _shells;
}
