import type { TDelegableGlobalCapability } from '../data/authorization.js'; export declare const devIdpManifestSchemaVersion: 3; export declare const devIdpResultSchemaVersion: 1; export declare const devIdpInternalPort: 2999; export declare const devIdpDerivedSubjectSentinel: "derived"; export declare const devIdpPersonaAuthorityProfile: "platform-personas-v1"; export declare const devIdpPersonaNames: readonly ["testuser", "testmoderator", "testsuperadmin"]; export declare const devIdpHostnames: readonly ["idp.localhost", "login.idp.localhost", "app.idp.localhost", "superadmin.idp.localhost"]; export declare const devIdpDegradedDependencies: Readonly<{ readonly audit: "ephemeral-memory"; readonly platform: "test-authorization"; }>; export type TDevIdpPersonaName = typeof devIdpPersonaNames[number]; export declare const devIdpModeratorCapabilities: readonly ["global.alert.manage", "global.alert.read", "global.user.manage", "global.user.read"]; export interface IDevIdpPersonaAuthority { readonly isGlobalAdmin: boolean; readonly globalCapabilities: readonly TDelegableGlobalCapability[]; } export interface IDevIdpOrigins { issuer: string; login: string; app: string; superadmin: string; } export interface IDevIdpRpClientManifest { name: string; appUrl: string; redirectUris: string[]; postLogoutRedirectUris: string[]; tlsHostnames: string[]; clientSecretFile: string; } export interface IDevIdpPersonaManifest { name: TDevIdpPersonaName; subject: typeof devIdpDerivedSubjectSentinel; email: string; displayName: string; passwordFile: string; } export interface IDevIdpManifest { schemaVersion: typeof devIdpManifestSchemaVersion; personaAuthorityProfile: typeof devIdpPersonaAuthorityProfile; namespace: string; origins: IDevIdpOrigins; rpClient: IDevIdpRpClientManifest; auditProtectorSecretFile: string; personas: IDevIdpPersonaManifest[]; } export interface IDevIdpResult { schemaVersion: typeof devIdpResultSchemaVersion; namespace: string; manifestSha256: string; ready: true; status: 'ready'; origins: IDevIdpOrigins; clientId: string; personas: Array<{ name: TDevIdpPersonaName; subject: string; }>; internalPort: typeof devIdpInternalPort; degraded: typeof devIdpDegradedDependencies; } export declare const normalizeDevIdpNamespace: (namespaceArg: unknown) => string; export declare const getDevIdpPersonaAuthority: (personaNameArg: unknown) => IDevIdpPersonaAuthority; export declare const deriveDevIdpNamespaceDigest: (namespaceArg: string) => string; export declare const deriveDevIdpDatabaseName: (namespaceArg: string) => string; export declare const deriveDevIdpMongoAlias: (namespaceArg: string) => string; export declare const deriveDevIdpAppId: (namespaceArg: string) => string; export declare const deriveDevIdpClientId: (namespaceArg: string) => string; export declare const deriveDevIdpPersonaSubject: (namespaceArg: string, personaNameArg: TDevIdpPersonaName) => string; export declare const normalizeDevIdpManifest: (manifestArg: unknown) => IDevIdpManifest; export declare const canonicalizeDevIdpManifest: (manifestArg: unknown) => string; export declare const fingerprintDevIdpManifest: (manifestArg: unknown) => string; export declare const normalizeDevIdpResult: (resultArg: unknown) => IDevIdpResult; export declare const assertDevIdpResultMatchesManifest: (resultArg: unknown, manifestArg: unknown) => IDevIdpResult;