/** * transport/policy.ts — the one place that decides which terminal hosts are * in play. Pure and dependency-free so the iTerm primitives (adapters/iterm/ * core.ts), the facade and the selector can all ask it without import cycles. * * AIBROKER_TRANSPORT=tmux → tmux only * AIBROKER_TRANSPORT=iterm → iTerm only * unset, darwin → both (auto, availability checked live) * unset, anything else → tmux only — there is no iTerm, and never an osascript */ export interface TransportPolicy { allowIterm: boolean; allowTmux: boolean; } export declare function transportPolicy(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): TransportPolicy; /** Is iTerm (and therefore AppleScript, lsappinfo, iTerm's pgrep) in play at all? */ export declare function itermInPlay(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): boolean; /** AIBP terminal plugin id for this host: `terminal:iterm` where iTerm is in play, else `terminal:tmux`. */ export declare function terminalPluginId(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): "iterm" | "tmux"; /** Is this AIBP address a terminal plugin of either kind? Consumers must not key on `terminal:iterm` alone. */ export declare function isTerminalAddress(address: string): boolean; /** Human label for `aibroker status`: permitted transports plus why, e.g. `tmux (linux)`, `iterm+tmux (auto)`. */ export declare function transportLabel(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string; //# sourceMappingURL=policy.d.ts.map