import type { ContextWithState } from '../../../Types';
export declare enum Type {
    Manifest = "manifest",
    InitSegment = "init-segment",
    DataSegment = "data-segment"
}
interface NetworkSample {
    type: Type;
    sizeInBytes: number;
    roundTripTimeSeconds: number;
    downloadTimeSeconds: number;
    timestamp: number;
}
export type NetworkSampleAtom = ReturnType<typeof createNetworkSampleAtom>;
declare function setType(sample: NetworkSample, type: Type): boolean;
declare function setRoundTripTimeSeconds(sample: NetworkSample, roundTripTime: number): boolean;
declare function setDownloadTimeSeconds(sample: NetworkSample, downloadTime: number): boolean;
declare function setSizeInBytes(sample: NetworkSample, size: number): boolean;
declare function setTimestamp(sample: NetworkSample, timestamp: number): boolean;
/**
 * Given a context with the state effect
 */
export declare function createNetworkSampleAtom(context: ContextWithState, type: Type, sizeInBytes?: number, roundTripTime?: number, downloadTime?: number, timestamp?: number): import("../../state/Types").StateAtom<NetworkSample, {
    setType: typeof setType;
    setRoundTripTimeSeconds: typeof setRoundTripTimeSeconds;
    setDownloadTimeSeconds: typeof setDownloadTimeSeconds;
    setSizeInBytes: typeof setSizeInBytes;
    setTimestamp: typeof setTimestamp;
}>;
export {};
