import type { ContextHaving } from '../../../framework-types/execution-context/Types'; import { BundleExportNames } from '../../bundles/Types'; import type { EmptyObject } from '../../Types'; import type { MediaType } from '../core/Constants'; import type { MediaTrackAtom } from '../core/state/track/TrackAtom'; import type { Logger } from '../core/utils/Logger'; import type { ContextWithState } from '../Types'; type AbrAlgorithm = 'wish' | 'default'; type AdaptationSuggestion = { [key in MediaType]?: MediaTrackAtom; }; export interface AdaptationState { abr: AbrAlgorithm; suggestion: AdaptationSuggestion; } export declare function getDefaultState(baseState?: Partial): { abr: string; suggestion: AdaptationSuggestion; }; export type AdaptationStateAtom = ReturnType; export declare function createAdaptationStateAtom(context: ContextHaving<{ [BundleExportNames.Logger]: Logger; }, EmptyObject, ContextWithState>, baseState?: Partial): import("../core/state/Types").StateAtom<{ abr: string; suggestion: AdaptationSuggestion; }, { setAbr: (_logger: { abr: string; suggestion: AdaptationSuggestion; }, state: AdaptationState, abr: AbrAlgorithm) => boolean; setSuggestion: (_logger: { abr: string; suggestion: AdaptationSuggestion; }, state: AdaptationState, suggestion: AdaptationSuggestion) => boolean; }>; export {};