import type { ArrayBufferView, ByteView } from '../block/interface.js'; /** * IPLD encoder part of the codec. */ export interface BlockEncoder { name: string; code: Code; encode(data: T): ByteView; } /** * IPLD decoder part of the codec. */ export interface BlockDecoder { code: Code; decode(bytes: ByteView | ArrayBufferView): T; } /** * An IPLD codec is a combination of both encoder and decoder. */ export interface BlockCodec extends BlockEncoder, BlockDecoder { } export type { ArrayBufferView, ByteView }; //# sourceMappingURL=interface.d.ts.map