export type AudibilityTrack = { id: string; enabled: boolean; solo: boolean; }; export declare function hasSoloedTracks(tracks: readonly Pick[]): boolean; export declare function isTrackAudible(track: Pick, anyTrackSoloed: boolean): boolean; export declare function getAudibleTrackIds(tracks: readonly AudibilityTrack[]): Set; export declare function haveSameTrackIds(left: ReadonlySet, right: ReadonlySet): boolean; export declare function toggleTrackMute(track: AudibilityTrack): void; export declare function toggleTrackSolo(track: AudibilityTrack): void; /** * The live engine must always keep a timed MIDI sequence loaded. When every * track is muted, retain all tracks in the engine and silence their channel * gains instead of loading a note-less sequence that cannot advance reliably. */ export declare function getEngineTrackIds(tracks: readonly AudibilityTrack[]): Set;