import { Base64KeyHash, PublicKey } from "./types"; export interface Entity { publicKey: PublicKey; url?: string; } export type EntityMap = Map; export interface Quorum { isQuorum(present: Set): boolean; } export interface Policy { logs: EntityMap; witnesses: EntityMap; quorum: Quorum; } export declare class QuorumSingle implements Quorum { private readonly w; constructor(w: Base64KeyHash); isQuorum(present: Set): boolean; get witness(): Base64KeyHash; } export declare class QuorumKofN implements Quorum { private readonly subQuorums; private readonly k; constructor(subQuorums: Quorum[], k: number); isQuorum(present: Set): boolean; get members(): readonly Quorum[]; get threshold(): number; } export declare function isQuorumSingle(q: Quorum): q is QuorumSingle; export declare function isQuorumKofN(q: Quorum): q is QuorumKofN;