/**
* @packageDocumentation Presentation.package
*
* Provides MSE interface to render the content from the PWX Stream
* data structure. It handles all of the related presentation logic:
*
* - Segment data queuing and appendage
* - Buffer clearing
* - timestamp offset handling
* - Gap handling
* - Video element related utilities
*
* ### `Presentation` Package Dependency Graph
*
*/
import type { ContextHaving, ContextUsing } from '../../../framework-types/execution-context/Types';
import type { NamedTask, Task } from '../../../framework-types/task/Types';
import { BundleExportNames } from '../../bundles/Types';
import type { EmptyObject } from '../../Types';
import type { PlatformCapabilities } from '../capabilities/Types';
import { CapabilitiesExportNames } from '../capabilities/Types';
import type { Constants } from '../core/Constants';
import type { MapStateAtom } from '../core/state/MapStateAtom';
import type { ContainerFormat } from '../core/state/segment/SegmentDataAtom';
import type { SelectionGroupAtom } from '../core/state/selection-group/SelectionGroupAtom';
import type { StoreEffectFactory } from '../core/state/StoreEffectFactory';
import type { StreamTimelineAtom } from '../core/state/stream-timeline/StreamTimelineMapAtom';
import type { CoreEffects, CoreStateAtoms } from '../core/Types';
import { CoreExportNames } from '../core/Types';
import type { Logger } from '../core/utils/Logger';
import type { CoreUtils } from '../core/utils/Types';
import { DataExportNames } from '../data/Types';
import type SegmentProcessorErrors from '../segment-processing/Errors';
import type { SegmentProcessingComponent, SegmentProcessorContext, SelectContainerFormatInput } from '../segment-processing/Types';
import { SegmentProcessingExportNames } from '../segment-processing/Types';
import type { SourceState } from '../source/atoms/SourceStateAtom';
import { SourceExportNames } from '../source/Types';
import type { ContextWithState } from '../Types';
import type { SegmentOutputCache } from './cache/Types';
import { PresentationExportNames } from './Types';
type Dependencies = {
[BundleExportNames.Logger]: Logger;
[CoreExportNames.Utils]: CoreUtils;
[SourceExportNames.SourceState]: SourceState;
[CoreExportNames.CoreEffects]: CoreEffects;
[CoreExportNames.Constants]: Constants;
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
[DataExportNames.StreamTimeline]: StreamTimelineAtom;
[CapabilitiesExportNames.PlatformCapabilities]: PlatformCapabilities;
[SegmentProcessingExportNames.SegmentProcessingComponent]: SegmentProcessingComponent;
[SegmentProcessingExportNames.SegmentProcessorErrors]: typeof SegmentProcessorErrors;
};
export type SelectContainerFormatTaskType = (context: PresentationContext) => NamedTask>;
export type PresentationExports = {
[PresentationExportNames.SelectContainerFormat]: SelectContainerFormatTaskType;
};
export type PresentationContext = ContextUsing<[
StoreEffectFactory<'segmentDataCache', SegmentOutputCache>,
StoreEffectFactory<'containerFormatMap', MapStateAtom>
], ContextHaving>;
export declare const PresentationPackage: import("../../../framework-types/package-api/Package").Package;
export default PresentationPackage;