/** * Outbound Wrapper * * The only part of the outbound surface that ships in `array.js`. It decides * whether outbound is enabled and, if so, pulls `outbound.js` on idle; the * banner renderer, decide pipeline and outcome telemetry all live in that * separate bundle (see `entrypoints/outbound.ts`). * * Sites without `outbound: { enabled: true }` therefore download none of it. * Sites with it on pay one extra request, scheduled off the critical path — * a banner is never urgent enough to compete with the host page's own load. * * @see docs/modules/outbound-messaging.md * @see docs/patterns/tracker-feature-lifecycle.md */ import type { VTiltConfig } from "../../types"; import { LazyFeature, type VTiltInstance } from "../../feature"; import { type LazyLoadedOutboundInterface } from "../../utils/globals"; import type { OutboundWidgetConfig } from "./types"; export declare class OutboundWrapper extends LazyFeature { readonly name = "Outbound"; readonly scriptName = "outbound"; private _idleHandle; private _timeoutHandle; constructor(instance: VTiltInstance, config?: OutboundWidgetConfig); static extractConfig(config: VTiltConfig): OutboundWidgetConfig; get isEnabled(): boolean; startIfEnabled(): void; stop(): void; onConfigUpdate(config: VTiltConfig): void; protected _createLoaded(): LazyLoadedOutboundInterface; protected _onLoaded(loaded: LazyLoadedOutboundInterface): void; private _scheduleLoad; private _cancelScheduledLoad; }