import type { WebSocket } from "ws"; import pty from "@homebridge/node-pty-prebuilt-multiarch"; export type TerminalAttachment = { dispose(): void; }; export declare class TmuxTerminalAttachError extends Error { readonly phase: "resolve" | "spawn"; constructor(phase: "resolve" | "spawn", cause: unknown); } export type TmuxTerminalSocketOptions = { authorizeInput?: () => Promise | TAuthorization; cols?: number; cwd?: string; errorLabel?: string; onInput?: (data: string, authorization: TAuthorization | undefined) => Promise | void; readOnly?: boolean; rows?: number; socket: WebSocket; terminalId: string; tmuxSocket?: string; window?: number; }; export declare function attachTmuxTerminalSocket(options: TmuxTerminalSocketOptions): TerminalAttachment; type ReconciledPty = { child: ReturnType; orphanPtmxFds: number[]; }; export declare function spawnReconciledPty(file: string, args: string[], options: Parameters[2]): ReconciledPty; export declare function releasePtyMaster(child: { destroy(): void; }, orphanPtmxFds?: number[]): void; export {};