import type { ProviderType } from '../providers/contract'; export type { ProviderType }; export interface PlayerState { readonly paused: boolean; readonly playing: boolean; readonly ended: boolean; readonly seeking: boolean; readonly waiting: boolean; readonly currentTime: number; readonly duration: number; readonly buffered: TimeRanges | null; readonly volume: number; readonly muted: boolean; readonly loop: boolean; readonly playbackRate: number; readonly readyState: 0 | 1 | 2 | 3 | 4; readonly videoWidth: number; readonly videoHeight: number; readonly qualities: QualityLevel[]; readonly currentQuality: QualityLevel | null; readonly targetQuality: QualityLevel | null; readonly fullscreen: boolean; readonly presentationMode: PresentationMode; readonly providerType: ProviderType | null; readonly connectionState: ConnectionState; readonly streamType: StreamType; readonly contentType: ContentType; readonly error: PlayerError | null; } export interface QualityLevel { index: number; height: number; width: number; bitrate: number; codec?: string; label?: string; } export type PresentationMode = 'inline' | 'fullscreen' | 'pip'; export type ConnectionState = 'idle' | 'connecting' | 'connected' | 'reconnecting' | 'disconnected' | 'failed'; export type StreamType = 'vod' | 'live' | 'dvr'; export type ContentType = 'clip' | 'stream' | 'video'; export type ErrorCategory = 'offline' | 'network' | 'security' | 'media' | 'autoplay' | 'setup' | 'unknown'; export interface PlayerError { code: number; message: string; fatal: boolean; category: ErrorCategory; } export declare const NANOPLAYER_NO_REPLAY_CODES: readonly [1005, 1007, 1008, 1009, 3001, 3002, 3003, 3004, 3005, 3100, 3101, 3200, 4003]; export declare function classifyNanoPlayerError(code: number): ErrorCategory; export declare function classifyLiveKitError(code: number): ErrorCategory; export declare function createInitialState(): PlayerState; //# sourceMappingURL=state.d.ts.map