import type { AuthSessionPort } from "../auth-session-port.js"; import type { ReleaseInfoPort } from "../release-info-port.js"; import type { StoragePort } from "../storage-port.js"; import type { TelemetryPort } from "../telemetry-port.js"; import type { DiagnosticsPort } from "../diagnostics-port.js"; /** * Capabilities required by application use cases. Implementations live in * outbound adapters and are selected only by bootstrap. */ export type ApplicationOutputPorts = Readonly<{ session: Pick< AuthSessionPort, "getState" | "subscribe" | "beginSignIn" | "signOut" | "recover" >; preferences: StoragePort; diagnostics: DiagnosticsPort; telemetry: TelemetryPort; releaseInfo: ReleaseInfoPort; navigation: Readonly<{ reload(): void }>; }>;