import { Link, Block, IndexedValue } from './types'; import { Cipher } from './encrypt'; interface SearchIndex { create: (values: IndexedValue[], blockPut: (block: Block) => Promise, blockGet: (cid: any) => Promise) => Promise; search: (link: Link, blockGet: (cid: any) => Promise, value: any) => Promise; } interface LinkCodec { encode: (blockBytes: Uint8Array) => Promise; decode: (linkBytes: Uint8Array) => Link; parseString: (encoded: string) => Link; encodeString: (link: Link) => string; } interface BlockCodec { encode: (json: any, blockPut: (block: Block) => Promise) => Promise; decode: (link: Link, blockGet: (cid: any) => Promise) => Promise; } interface ValueCodec { encode: (value: any) => Promise; decode: (valueBytes: Uint8Array) => Promise; } declare const valueCodecFactory: (cipher?: Cipher) => ValueCodec; declare const linkCodecFactory: () => LinkCodec; declare const blockCodecFactory: () => BlockCodec; declare const multiBlockCodecFactory: (chunk: (data: Uint8Array) => Uint32Array) => BlockCodec; export { LinkCodec, BlockCodec, ValueCodec, SearchIndex, valueCodecFactory, linkCodecFactory, blockCodecFactory, multiBlockCodecFactory, }; //# sourceMappingURL=codecs.d.ts.map