import type { PesStreamType } from '../Constants';
import type { PacketIdentifier, PacketParserData } from '../packet-parsing/PacketParserData';
import type { PesContinuationPacket, PesPacket } from '../Types';
export type PayloadParserDefinition<T> = {
    streamTypes: PesStreamType[];
    createContext(packetParsingContext: PacketParserData, packetId: PacketIdentifier, packets: (PesPacket | PesContinuationPacket)[]): T;
    resolveParser(payloadParsingContext: T): PayloadParser<T>;
};
export type PayloadParsingStep<T> = (context: T) => void;
export type PayloadParser<T> = PayloadParsingStep<T>[];
