import type { DataTrackFrame } from './frame';
import { type DataTrackHandle } from './handle';
import type OutgoingDataTrackManager from './outgoing/OutgoingDataTrackManager';
export type DataTrackSid = string;
/** Information about a published data track. */
export type DataTrackInfo = {
    sid: DataTrackSid;
    pubHandle: DataTrackHandle;
    name: String;
    usesE2ee: boolean;
};
export declare class LocalDataTrack {
    info: DataTrackInfo;
    protected manager: OutgoingDataTrackManager;
    constructor(info: DataTrackInfo, manager: OutgoingDataTrackManager);
    /** The raw descriptor from the manager containing the internal state for this local track. */
    protected get descriptor(): import("./outgoing/OutgoingDataTrackManager").Descriptor | null;
    isPublished(): boolean;
    /** Try pushing a frame to subscribers of the track.
     *
     * Pushing a frame can fail for several reasons:
     *
     * - The track has been unpublished by the local participant or SFU
     * - The room is no longer connected
     */
    tryPush(payload: DataTrackFrame['payload']): void & {
        readonly __throws?: import("./outgoing/errors").DataTrackPushFrameError<import("./outgoing/errors").DataTrackPushFrameErrorReason.Dropped> | import("./outgoing/errors").DataTrackPushFrameError<import("./outgoing/errors").DataTrackPushFrameErrorReason.TrackUnpublished> | undefined;
    };
}
//# sourceMappingURL=track.d.ts.map