import type { ExtensionContext } from "@code-yeongyu/senpi"; import type { MigrationNotice } from "./failover.js"; /** * Delivery point for migration notices. * * A provider stream runs with no `ExtensionContext` of its own, so the * extension entry point attaches the newest one here and the provider reports * through it. Notices are fire-and-forget: a stream that already lost its warm * cache must not also fail because the UI is unavailable. */ export interface MigrationSink { attach(ctx: ExtensionContext): void; report(providerId: string, notice: MigrationNotice): void; } export declare function createMigrationSink(): MigrationSink; export declare const migrationSink: MigrationSink;