import type { types } from 'mediasoup-client'; import { type VideoCodec, type VideoEncoderConfig } from '../../../types/common'; import type { BaseTrackDependenciesParams, BaseTrackParams, VideoTrack, VideoTrackPublishParams } from '../../../types/media'; import type { Effects } from '../streamEffects/video/esdk/TrackProcessor'; import DefaultBaseTrack, { type LoggerContext } from './DefaultBaseTrack'; type VideoTrackParams = BaseTrackParams & BaseTrackDependenciesParams; interface VLoggerContext extends LoggerContext { isEffectsProcessing: boolean; } declare class DefaultVideoTrack extends DefaultBaseTrack implements VideoTrack { #private; transformParams: {}; constructor(params: VideoTrackParams); get logCtx(): VLoggerContext; get isEffectsProcessing(): boolean; getEncoderConfig(): VideoEncoderConfig; getCodecOptions(): types.ProducerCodecOptions; getPreferredCodec(): VideoCodec; getEncodings(): types.RtpEncodingParameters[]; setTransformParams(transformParams: object): void; setMaxSpatialLayer(spatialLayer: number): Promise; getMaxSpatialLayer(): number | undefined; enableEffects(): Promise; disableEffects(restoreOriginalTrack?: boolean): Promise; publish(params?: VideoTrackPublishParams): Promise; adjustEncodingPresetToCurrentMaxSpatialLayer(maxSpatialLayer: number): Promise; applyEffects(effects: Effects): Promise; resetEffects(): void; setOnLoadModels(callback: () => void): void; get modelsLoadProgress(): number; pause(): Promise; setOnEffectError(callback: (error: Error) => void): void; } export default DefaultVideoTrack;