import { Track, TrackInsertionPlacement, TrackType } from '../models/types';
export declare class TrackManager {
    private tracks;
    private trackCounter;
    constructor(initialTracks?: Track[]);
    createTrack(type: TrackType, name?: string, insertionPlacement?: TrackInsertionPlacement, referenceTrackId?: string, roleOverride?: Track['role']): Track;
    removeTrack(trackId: string): boolean;
    renameTrack(trackId: string, newName: string): boolean;
    getTracks(): Track[];
    getTrack(trackId: string): Track | undefined;
    getTracksByType(type: TrackType): Track[];
    updateTrack(trackId: string, updates: Partial<Track>): boolean;
    private recalculateOrder;
    private insertTrack;
    muteTrack(trackId: string, isMuted: boolean): boolean;
    isTrackMuted(trackId: string): boolean;
    clearAllTracks(): void;
    getTrackCount(): number;
    getTrackCountByType(type: TrackType): number;
}
