import { IdentitiesType, LogEntry, Storage } from "@orbitdb/core"; import { TypedSet } from "@constl/bohr-db"; import { JSONSchemaType } from "ajv"; import { GestionnaireAccès } from "./gestionnaireUtilisateurs.js"; import { rôles } from "./consts.js"; import type { OrbitDB, DagCborEncodable } from "@orbitdb/core"; import type { schémaFonctionOublier, schémaFonctionSuivi } from "../types.js"; import type { infoUtilisateur, élémentBdAccès } from "./types.js"; export declare const nomType = "contr\u00F4leur-constellation"; export interface OptionsContrôleurConstellation { write?: string; address?: string; nom?: string; } export declare const schémaBdAccès: JSONSchemaType<élémentBdAccès>; declare const ContrôleurConstellation: { ({ write, nom, storage, }?: { write?: string; nom?: string; storage?: Storage; }): ({ orbitdb, identities, address, }: { orbitdb: OrbitDB; identities: IdentitiesType; address?: string; }) => Promise<{ type: string; nom: string; address: string; adresseBdAccès: string; write: string; grant: (rôle: (typeof rôles)[number], id: string) => Promise; revoke: (_rôle: (typeof rôles)[number], _id: string) => Promise; canAppend: (entry: LogEntry) => Promise; close: () => Promise; drop: () => Promise; suivreUtilisateursAutorisés: (f: schémaFonctionSuivi) => Promise; suivreIdsOrbiteAutoriséesÉcriture: (f: schémaFonctionSuivi) => Promise; gestRôles: GestionnaireAccès; estAutorisé: (id: string) => Promise; estUnMembre: (id: string) => Promise; estUnModérateur: (id: string) => Promise; bd: TypedSet<élémentBdAccès>; }>; type: string; }; export { ContrôleurConstellation };