import type { IDialect } from '@mostajs/orm'; export interface BootstrapRbacOptions { /** Admin credentials — required at first boot, ignored after. */ adminEmail?: string; adminPassword?: string; adminFirstName?: string; adminLastName?: string; /** Override the public-demo apikey label (default: 'public-default') */ publicKeyLabel?: string; /** Skip the RBAC seed phase (re-running seedRBAC is idempotent but slow). */ skipSeed?: boolean; /** Verbose logging */ verbose?: boolean; } export interface BootstrapRbacResult { ok: boolean; adminUserId?: string; adminEmail?: string; trialAccountId?: string; publicUserId?: string; publicAccountId?: string; /** Portal Account ID — racine de hiérarchie pour les users d'Octocloud (B3 modèle β). */ portalAccountId?: string | null; /** Clé publique en clair — uniquement au tout premier bootstrap. null sinon. */ publicApiKey?: string | null; /** Clé portal scopée (pour Octocloud → Octonet) — uniquement au tout premier bootstrap. null sinon. */ portalApiKey?: string | null; error?: string; } /** * Bootstrap RBAC + accounts + public demo apikey on the default project's DB. * * @param dialect The dialect of the project that hosts Octonet metadata * (typically the project named 'default'). * @param opts Admin credentials and overrides. */ export declare function bootstrapRbac(dialect: IDialect, opts?: BootstrapRbacOptions): Promise;