import type { DataTrackInfo } from './types';
export declare const TrackSymbol: symbol;
export interface ITrack {
    readonly trackSymbol: typeof TrackSymbol;
}
/** An interface representing a track (of any type) which is local and sending data to the SFU. */
export interface ILocalTrack extends ITrack {
    readonly isLocal: true;
    isPublished(): boolean;
}
export declare const RemoteTrackSymbol: symbol;
/** An interface representing a track (of any type) which is remote and receiving data from the SFU. */
export interface IRemoteTrack extends ITrack {
    readonly isLocal: false;
}
export declare const DataTrackSymbol: symbol;
/** An interface representing a data track, either local or remote. */
export interface IDataTrack extends ITrack {
    readonly typeSymbol: typeof DataTrackSymbol;
    readonly info?: DataTrackInfo;
}
export declare function isDataTrack(subject: unknown): subject is IDataTrack;
//# sourceMappingURL=track-interfaces.d.ts.map