/** * Module-level registry so only one piece of media plays at a time. * * Every voice note and round video note owns its own player, and nothing * coordinated them: starting a second note left the first one playing, and a * chat with several round notes played all of them at once. Telegram always * stops the current one when a new one starts. * * Deliberately not React context - bubbles are recycled by the list, and the * registry has to outlive individual mounts to stop a player whose row has * already scrolled away. */ type StopHandler = () => void; /** * Claim playback for `id`, stopping whatever else was playing. * Call when a player actually starts. */ export declare const claimPlayback: (id: string, stop: StopHandler) => void; /** Give up the claim (on pause, completion or unmount). */ export declare const releasePlayback: (id: string) => void; export {}; //# sourceMappingURL=mediaPlayback.d.ts.map