import type { JupyterConnectionInfo } from "../jupyter-connection.ts"; import { type JupyterMessage } from "../jupyter-wire.ts"; export declare class JupyterShellChannel { private shell; private readonly connection; private readonly session; private readonly shellReplies; private readonly onFailure; private readonly readStderr; pump: Promise | undefined; constructor(connection: JupyterConnectionInfo, session: string, onFailure: (error: Error) => void, readStderr: () => string); connect(signal?: AbortSignal): Promise; startPump(): void; request(type: string, content: Record, timeoutMs: number, signal?: AbortSignal): Promise; close(): void; sendShellRequest(request: JupyterMessage, timeoutMs?: number, requestType?: string, signal?: AbortSignal): Promise; private runShellPump; } export declare function withJupyterTimeout(pending: Promise, timeoutMs: number, timeoutError: () => Error): Promise;