declare module 'ipld-block' { import CID from 'cids' import Codec from '@ipld/codec-interface' export class Block { constructor (data: Buffer, cid: CID) data: Buffer cid: CID } // eslint-disable-next-line import/no-default-export export default Block } declare module '@ipld/block' { import CID from 'cids' import Codec, { Reader } from '@ipld/codec-interface' export interface Options { source?: object data?: Buffer codec?: string cid?: CID | string algo?: string } class Block { opts: Options readonly codec: string constructor (opts: Options) source(): T | null cid(): Promise validate(): boolean encode(): Buffer decode(): T reader(): Reader } namespace Block { function getCodec(codec: string): Codec export namespace getCodec { export function setCodec(codec: Codec): void } export function encoder(source: T, codec: string, algo?: string): Block export function decoder(data: Buffer, codec: string, algo: string): Block export function create(data: Buffer, cid: CID /*, validate: boolean */): Block } // eslint-disable-next-line import/no-default-export export default Block }