import { type Frame, type FrameSize, type ReadResult } from "./frame.ts";
export interface CounterInit {
    type: string;
    count: number;
}
export declare class Counter implements Frame, CounterInit {
    readonly code: string;
    readonly count: number;
    constructor(init: CounterInit);
    get quadlets(): number;
    get size(): FrameSize;
    get soft(): number;
    get raw(): Uint8Array<ArrayBuffer>;
    text(): string;
    binary(): Uint8Array;
    get type(): string;
    static peek(input: string | Uint8Array): ReadResult<Counter>;
    static parse(input: string | Uint8Array): Counter;
    static readonly Code: {
        v1: {
            ControllerIdxSigs: string;
            WitnessIdxSigs: string;
            NonTransReceiptCouples: string;
            TransReceiptQuadruples: string;
            FirstSeenReplayCouples: string;
            TransIdxSigGroups: string;
            SealSourceCouples: string;
            TransLastIdxSigGroups: string;
            SealSourceTriples: string;
            PathedMaterialCouples: string;
            GenericGroup: string;
            BodyWithAttachmentGroup: string;
            AttachmentGroup: string;
            NonNativeBodyGroup: string;
            ESSRPayloadGroup: string;
        };
        v2: {
            GenericGroup: string;
            BodyWithAttachmentGroup: string;
            AttachmentGroup: string;
            DatagramSegmentGroup: string;
            ESSRWrapperGroup: string;
            FixBodyGroup: string;
            MapBodyGroup: string;
            NonNativeBodyGroup: string;
            GenericMapGroup: string;
            GenericListGroup: string;
            ControllerIdxSigs: string;
            WitnessIdxSigs: string;
            NonTransReceiptCouples: string;
            TransReceiptQuadruples: string;
            FirstSeenReplayCouples: string;
            PathedMaterialCouples: string;
            DigestSealSingles: string;
            MerkleRootSealSingles: string;
            SealSourceCouples: string;
            SealSourceTriples: string;
            SealSourceLastSingles: string;
            BackerRegistrarSealCouples: string;
            TypedDigestSealCouples: string;
            TransIdxSigGroups: string;
            TransLastIdxSigGroups: string;
            ESSRPayloadGroup: string;
            BlindedStateQuadruples: string;
            BoundStateSextuples: string;
            TypedMediaQuadruples: string;
        };
    };
    static readonly v1: {
        ControllerIdxSigs: (count: number) => Counter;
        WitnessIdxSigs: (count: number) => Counter;
        NonTransReceiptCouples: (count: number) => Counter;
        TransReceiptQuadruples: (count: number) => Counter;
        FirstSeenReplayCouples: (count: number) => Counter;
        TransIdxSigGroups: (count: number) => Counter;
        SealSourceCouples: (count: number) => Counter;
        TransLastIdxSigGroups: (count: number) => Counter;
        SealSourceTriples: (count: number) => Counter;
        PathedMaterialCouples: (count: number) => Counter;
        GenericGroup: (count: number) => Counter;
        BodyWithAttachmentGroup: (count: number) => Counter;
        AttachmentGroup: (count: number) => Counter;
        NonNativeBodyGroup: (count: number) => Counter;
        ESSRPayloadGroup: (count: number) => Counter;
    };
    static readonly v2: {
        GenericGroup: (count: number) => Counter;
        BodyWithAttachmentGroup: (count: number) => Counter;
        AttachmentGroup: (count: number) => Counter;
        DatagramSegmentGroup: (count: number) => Counter;
        ESSRWrapperGroup: (count: number) => Counter;
        FixBodyGroup: (count: number) => Counter;
        MapBodyGroup: (count: number) => Counter;
        NonNativeBodyGroup: (count: number) => Counter;
        GenericMapGroup: (count: number) => Counter;
        GenericListGroup: (count: number) => Counter;
        ControllerIdxSigs: (count: number) => Counter;
        WitnessIdxSigs: (count: number) => Counter;
        NonTransReceiptCouples: (count: number) => Counter;
        TransReceiptQuadruples: (count: number) => Counter;
        FirstSeenReplayCouples: (count: number) => Counter;
        PathedMaterialCouples: (count: number) => Counter;
        DigestSealSingles: (count: number) => Counter;
        MerkleRootSealSingles: (count: number) => Counter;
        SealSourceCouples: (count: number) => Counter;
        SealSourceTriples: (count: number) => Counter;
        SealSourceLastSingles: (count: number) => Counter;
        BackerRegistrarSealCouples: (count: number) => Counter;
        TypedDigestSealCouples: (count: number) => Counter;
        TransIdxSigGroups: (count: number) => Counter;
        TransLastIdxSigGroups: (count: number) => Counter;
        ESSRPayloadGroup: (count: number) => Counter;
        BlindedStateQuadruples: (count: number) => Counter;
        BoundStateSextuples: (count: number) => Counter;
        TypedMediaQuadruples: (count: number) => Counter;
    };
}
