import type { Serializable, SerializableStatic } from '../common/types';
import { TypeSymbols } from '../constants';
export declare class Codec {
    private readonly typeIdToType;
    _type: TypeSymbols;
    typeToTypeID: Map<TypeSymbols, number>;
    constructor(typeIdToType: (SerializableStatic | undefined)[]);
    PackPrefix: (type: Serializable) => Uint8Array;
    UnpackPrefix: <T extends Serializable>(buf: Uint8Array) => [T, Uint8Array];
    static fromBytes(buf: Uint8Array, codec?: Codec): [Serializable, Uint8Array];
    toBytes(): Uint8Array;
    PackPrefixList(list: Serializable[]): Uint8Array;
}
//# sourceMappingURL=codec.d.ts.map