import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
import type { EmptyObject } from '../../../Types';
import type { Constants, MediaType } from '../../core/Constants';
import { CoreExportNames } from '../../core/Types';
import type { CoreUtils } from '../../core/utils/Types';
import type { ContextWithState } from '../../Types';
type ContextT = ContextHaving<{
    [CoreExportNames.Utils]: CoreUtils;
    [CoreExportNames.Constants]: Constants;
}, EmptyObject, ContextWithState>;
type BufferConfig = {
    [mediaType in typeof MediaType[keyof typeof MediaType]]: {
        forwardDuration: number;
        backwardDuration: number;
    };
};
declare function setForwardTargetLevel(config: BufferConfig, mediaType: MediaType, level: number): boolean;
declare function setBackwardTargetLevel(config: BufferConfig, mediaType: MediaType, level: number): boolean;
export type BufferConfigAtom = ReturnType<typeof createBufferConfigAtom>;
export declare function createBufferConfigAtom(context: ContextT, baseConfig?: Partial<BufferConfig>): import("../../core/state/Types").StateAtom<BufferConfig, {
    setForwardTargetLevel: typeof setForwardTargetLevel;
    setBackwardTargetLevel: typeof setBackwardTargetLevel;
}>;
export {};
