/** * ingestEndpoints - Svelte store for gateway-based ingest endpoint resolution * Mirrors viewerEndpoints from npm_player for consistency */ import { type Readable } from "svelte/store"; import { type IngestEndpoints, type IngestClientStatus } from "@livepeer-frameworks/streamcrafter-core"; export interface IngestEndpointsOptions { /** Gateway GraphQL URL */ gatewayUrl?: string; /** Stream key for ingest */ streamKey?: string; /** JWT auth token (optional) */ authToken?: string; /** Max retry attempts (default: 3) */ maxRetries?: number; /** Initial retry delay in ms (default: 1000) */ initialDelayMs?: number; } export interface IngestEndpointsState { endpoints: IngestEndpoints | null; status: IngestClientStatus; error: string | null; } export interface IngestEndpointsStore extends Readable { /** Resolve ingest endpoints */ resolve: (options: IngestEndpointsOptions) => Promise; /** Reset state and clear endpoints */ reset: () => void; /** Destroy the client */ destroy: () => void; /** Derived store for WHIP URL */ whipUrl: Readable; /** Derived store for RTMP URL */ rtmpUrl: Readable; /** Derived store for SRT URL */ srtUrl: Readable; } export declare function createIngestEndpointsStore(): IngestEndpointsStore; export declare function getIngestEndpointsStore(): IngestEndpointsStore;