/**
 * This is an abstract class, must be implemented by subclasses
 *
 * @template T
 */
export class Codec<T> {
    /**
     *
     * @param {Uint8Array} data
     * @returns {Promise<T>}
     */
    decode(data: Uint8Array): Promise<T>;
    /**
     * Whether codec is able to decode this data, typically checks headers in the data
     * @param {Uint8Array} data
     * @return {Promise<boolean>} true if able, false otherwise
     */
    test(data: Uint8Array): Promise<boolean>;
}
//# sourceMappingURL=Codec.d.ts.map