import type { Hash } from './hashes.ts'; import type { Filter } from './index.ts'; export interface CuckooFilterInit { /** * How many items the filter is expected to contain */ filterSize: number; /** * How many items to put in each bucket */ bucketSize?: number; /** * How many bytes the fingerprint is expected to be */ fingerprintSize?: number; /** * A non-cryptographic hash implementation */ hash?: Hash; /** * A number used to seed the hash */ seed?: number; } export declare class CuckooFilter implements Filter { private readonly bucketSize; private readonly filterSize; private readonly fingerprintSize; private readonly buckets; count: number; private readonly hash; private readonly seed; constructor(init: CuckooFilterInit); add(item: Uint8Array | string): boolean; has(item: Uint8Array | string): boolean; remove(item: Uint8Array | string): boolean; get reliable(): boolean; } export declare function optimize(maxItems: number, errorRate?: number): CuckooFilterInit; export declare function createCuckooFilter(maxItems: number, errorRate?: number): Filter; //# sourceMappingURL=cuckoo-filter.d.ts.map