import { BloomFilter } from "fission-bloom-filters";
import { Opaque } from "../../../common/types.js";
export declare type PrivateName = Opaque<"PrivateName", string>;
export declare type BareNameFilter = Opaque<"BareNameFilter", string>;
export declare type RevisionNameFilter = Opaque<"RevisionNameFilter", string>;
export declare type SaturatedNameFilter = Opaque<"SaturatedNameFilter", string>;
export declare const createBare: (key: string) => Promise<BareNameFilter>;
export declare const addToBare: (bareFilter: BareNameFilter, toAdd: string) => Promise<BareNameFilter>;
export declare const addRevision: (bareFilter: BareNameFilter, key: string, revision: number) => Promise<RevisionNameFilter>;
export declare const toPrivateName: (revisionFilter: RevisionNameFilter) => Promise<PrivateName>;
export declare const toHash: (filter: BloomFilter) => Promise<PrivateName>;
export declare const saturate: (filter: RevisionNameFilter | BareNameFilter, threshold?: number) => Promise<SaturatedNameFilter>;
export declare const toHex: (filter: BloomFilter) => string;
export declare const fromHex: (string: string) => BloomFilter;
