import { Nullable } from '@mlytics/core-ts/core/type/basic'; import { Timeouter } from '@mlytics/core-ts/core/util/watch'; import { Resource } from '../../../../kernel/core/model/service/resource'; import type { Loader, LoaderCallbacks, LoaderConfiguration, LoaderContext, LoaderResponse, LoaderStats } from '../../../../module/lib/hls'; import { DriverExtensionMixin } from '../../../essential/module/mixin'; import { HLSLoaderProxy } from './proxy'; declare global { interface MLYSpecDriverExtensions { HLSLoader: typeof HLSLoader; } } declare class HLSLoader extends DriverExtensionMixin implements Loader { static readonly MIN_QUALITY_LEVEL = 0; static _isPublic: boolean; static _publicName: string; protected _proxy: HLSLoaderProxy; protected _stats: LoaderStats; protected _context: LoaderContext; protected _config: LoaderConfiguration; protected _callbacks: LoaderCallbacks; protected _resource?: Nullable; protected _qualityLevel?: Nullable; protected _timeouter: Timeouter; protected _isDestroyed: boolean; constructor(); get stats(): LoaderStats; get context(): LoaderContext; load(context: LoaderContext, config: LoaderConfiguration, callbacks: LoaderCallbacks): Promise; protected _load(): Promise; protected _setupStates(): Promise; protected _setQualityLevel(): Promise; protected _applySystem(): Promise; protected _applySource(): Promise; protected _fetchContent(): Promise; protected _fetchResource(): Promise; protected _updateStats(): void; protected _replyResource(): void; protected _makeStats(): LoaderStats; protected _makeResponse(): LoaderResponse; protected _makeException(error: Error): Exception; abort(): Promise; destroy(): Promise; protected _abort(): Promise; } type Exception = { code: number; text: string; }; export { HLSLoader };