import { ClientState, Types } from "./lib.js"; import { ConnectTerminalQuery, ExecuteTerminalBody, InitTerminal } from "./types.js"; export type TerminalCallbacks = { on_message?: (e: MessageEvent) => void; on_login?: () => void; on_open?: () => void; on_close?: () => void; }; export type ExecuteCallbacks = { onLine?: (line: string) => void | Promise; onFinish?: (code: string) => void | Promise; }; export declare const terminal_methods: (url: string, state: ClientState) => { connect_terminal: ({ query: { target, terminal, init }, on_message, on_login, on_open, on_close, }: { query: ConnectTerminalQuery; } & TerminalCallbacks) => WebSocket; execute_terminal: (request: ExecuteTerminalBody, callbacks?: ExecuteCallbacks) => Promise; execute_terminal_stream: (request: ExecuteTerminalBody) => Promise>; execute_server_terminal: ({ server, terminal, command, init, }: { server: string; terminal?: string; command: string; init?: InitTerminal; }, callbacks?: ExecuteCallbacks) => Promise; execute_container_terminal: ({ server, container, terminal, command, init, }: { server: string; container: string; terminal?: string; command: string; init?: InitTerminal; }, callbacks?: ExecuteCallbacks) => Promise; execute_deployment_terminal: ({ deployment, terminal, command, init, }: { deployment: string; terminal?: string; command: string; init?: InitTerminal; }, callbacks?: ExecuteCallbacks) => Promise; execute_stack_service_terminal: ({ stack, service, terminal, command, init, }: { stack: string; service: string; terminal?: string; command: string; init?: InitTerminal; }, callbacks?: ExecuteCallbacks) => Promise; execute_container_exec: ({ server, container, shell, command, terminal, recreate, }: { /** Server Id or name */ server: string; /** The container name */ container: string; /** The shell to use (eg. `sh` or `bash`) */ shell: string; /** The command to execute. */ command: string; /** The name of the terminal to connect to */ terminal?: string; /** The behavior if */ recreate?: Types.TerminalRecreateMode; }, callbacks?: ExecuteCallbacks) => Promise; execute_deployment_exec: ({ deployment, shell, command, terminal, recreate, }: { /** Deployment Id or name */ deployment: string; /** The shell to use (eg. `sh` or `bash`) */ shell: string; /** The command to execute. */ command: string; /** The name of the terminal to connect to */ terminal?: string; /** The behavior if */ recreate?: Types.TerminalRecreateMode; }, callbacks?: ExecuteCallbacks) => Promise; execute_stack_exec: ({ stack, service, shell, command, terminal, recreate, }: { /** Stack Id or name */ stack: string; /** The service name to connect to */ service: string; /** The shell to use (eg. `sh` or `bash`) */ shell: string; /** The command to execute. */ command: string; /** The name of the terminal to connect to */ terminal?: string; /** The behavior if */ recreate?: Types.TerminalRecreateMode; }, callbacks?: ExecuteCallbacks) => Promise; };