import * as av from "anyvali"; import type { Infer } from "anyvali"; export declare const TokenTypeSchema: av.EnumSchema; export type TokenType = Infer; export declare const JwtClaimsSchema: av.ObjectSchema<{ iss: av.StringSchema; aud: av.UnionSchema<[av.StringSchema, av.ArraySchema]>; sub: av.StringSchema; exp: av.IntSchema; iat: av.IntSchema; nbf: av.OptionalSchema; jti: av.StringSchema; realm: av.EnumSchema; tenantId: av.StringSchema; appId: av.StringSchema; roles: av.ArraySchema; tokenType: av.EnumSchema; authProvider: av.OptionalSchema; refreshContext: av.OptionalSchema>; providerSubject: av.OptionalSchema; provider: av.OptionalSchema; profileUrl: av.OptionalSchema; accountId: av.OptionalSchema>; nodeId: av.OptionalSchema; scope: av.OptionalSchema; }>>; name: av.OptionalSchema; email: av.OptionalSchema; picture: av.OptionalSchema; }>; export type JwtClaims = Infer; export declare const TokenLifetimeConfigSchema: av.ObjectSchema<{ accessTokenSeconds: av.IntSchema; refreshTokenSeconds: av.IntSchema; }>; export type TokenLifetimeConfig = Infer; export declare const AuthAudienceRuleSchema: av.ObjectSchema<{ realm: av.EnumSchema; audiences: av.ArraySchema; }>; export type AuthAudienceRule = Infer; export declare const AppAuthPermissionActionSchema: av.EnumSchema; export type AppAuthPermissionAction = Infer; export declare const AppAuthPermissionGrantSchema: av.ObjectSchema<{ serviceId: av.StringSchema; viewId: av.StringSchema; permissions: av.ArraySchema>; }>; export type AppAuthPermissionGrant = Infer; export declare const AppAuthRoleSchema: av.ObjectSchema<{ id: av.StringSchema; title: av.StringSchema; description: av.OptionalSchema; permissions: av.ArraySchema>; }>>; }>; export type AppAuthRole = Infer; export declare const DefaultAuthProviderConfigSchema: av.ObjectSchema<{ kind: av.LiteralSchema<"betterportal.default">; }>; export type DefaultAuthProviderConfig = Infer; export declare const AuthressProviderConfigSchema: av.ObjectSchema<{ kind: av.LiteralSchema<"authress.io">; roleClaimPath: av.StringSchema; subjectClaimPath: av.StringSchema; nameClaimPath: av.OptionalSchema; emailClaimPath: av.OptionalSchema; pictureClaimPath: av.OptionalSchema; }>; export type AuthressProviderConfig = Infer; export declare const AppAuthProviderConfigSchema: av.UnionSchema<[av.ObjectSchema<{ kind: av.LiteralSchema<"betterportal.default">; }>, av.ObjectSchema<{ kind: av.LiteralSchema<"authress.io">; roleClaimPath: av.StringSchema; subjectClaimPath: av.StringSchema; nameClaimPath: av.OptionalSchema; emailClaimPath: av.OptionalSchema; pictureClaimPath: av.OptionalSchema; }>]>; export type AppAuthProviderConfig = Infer; export declare const AuthRoleAuthoritySchema: av.EnumSchema; export type AuthRoleAuthority = Infer; export declare const RsaPublicJwkSchema: av.ObjectSchema<{ kty: av.LiteralSchema<"RSA">; use: av.LiteralSchema<"sig">; alg: av.LiteralSchema<"RS256">; kid: av.StringSchema; n: av.StringSchema; e: av.StringSchema; }>; export type RsaPublicJwk = Infer; export declare const PublicJwksSchema: av.ObjectSchema<{ keys: av.ArraySchema; use: av.LiteralSchema<"sig">; alg: av.LiteralSchema<"RS256">; kid: av.StringSchema; n: av.StringSchema; e: av.StringSchema; }>>; }>; export type PublicJwks = Infer; export declare const AuthProviderRuntimeMetadataSchema: av.ObjectSchema<{ issuer: av.StringSchema; audience: av.StringSchema; jwksUri: av.StringSchema; publicKeys: av.OptionalSchema; use: av.LiteralSchema<"sig">; alg: av.LiteralSchema<"RS256">; kid: av.StringSchema; n: av.StringSchema; e: av.StringSchema; }>>; }>>; }>; export type AuthProviderRuntimeMetadata = Infer; export declare const AppAuthViewReferenceSchema: av.ObjectSchema<{ serviceId: av.StringSchema; viewId: av.StringSchema; }>; export type AppAuthViewReference = Infer; export declare const AppAuthRedirectsSchema: av.ObjectSchema<{ afterLogin: av.OptionalSchema>; afterLogout: av.OptionalSchema>; }>; export type AppAuthRedirects = Infer; export declare const AppAuthConfigSchema: av.ObjectSchema<{ serviceId: av.StringSchema; provider: av.OptionalSchema; }>, av.ObjectSchema<{ kind: av.LiteralSchema<"authress.io">; roleClaimPath: av.StringSchema; subjectClaimPath: av.StringSchema; nameClaimPath: av.OptionalSchema; emailClaimPath: av.OptionalSchema; pictureClaimPath: av.OptionalSchema; }>]>>; roleAuthority: av.OptionalSchema>; loginViewId: av.OptionalSchema; logoutViewId: av.OptionalSchema; refreshViewId: av.OptionalSchema; redirects: av.OptionalSchema>; afterLogout: av.OptionalSchema>; }>>; expectedIssuer: av.StringSchema; expectedAudience: av.StringSchema; /** Reference URL only - published by the auth service for clients/browsers. * Verifiers MUST use publicKeys (pushed at /install) to avoid CM -> service fetch. */ jwksUri: av.StringSchema; /** Public JWKS pushed by the auth service at /install and on key rotation. * CP-side JWT verification uses these static keys, never fetches jwksUri. */ publicKeys: av.OptionalSchema; use: av.LiteralSchema<"sig">; alg: av.LiteralSchema<"RS256">; kid: av.StringSchema; n: av.StringSchema; e: av.StringSchema; }>>; }>>; roles: av.ArraySchema; permissions: av.ArraySchema>; }>>; }>>; }>; export type AppAuthConfig = Infer; export declare const TenantAppValidationSchema: av.ObjectSchema<{ allowed: av.BoolSchema; reason: av.OptionalSchema; upgradeUrl: av.OptionalSchema; retryAfterSeconds: av.OptionalSchema; }>; export type TenantAppValidation = Infer; export declare const CpEnvelopeClaimsSchema: av.ObjectSchema<{ iss: av.StringSchema; aud: av.StringSchema; exp: av.IntSchema; iat: av.IntSchema; jti: av.StringSchema; tokenType: av.LiteralSchema<"cp-envelope">; tenantId: av.StringSchema; appId: av.StringSchema; originUserJti: av.OptionalSchema; cpId: av.StringSchema; cpJwksUri: av.StringSchema; }>; export type CpEnvelopeClaims = Infer; export declare const SetupTokenClaimsSchema: av.ObjectSchema<{ iss: av.StringSchema; exp: av.IntSchema; iat: av.IntSchema; jti: av.StringSchema; tokenType: av.LiteralSchema<"setup">; /** UUIDv7 - pre-assigned by CP for this install. Becomes tenant.services[].id. */ instanceId: av.StringSchema; serviceUrl: av.StringSchema; cpUrl: av.StringSchema; cpJwksUri: av.StringSchema; scope: av.OptionalSchema; }>>; }>; export type SetupTokenClaims = Infer; //# sourceMappingURL=auth.d.ts.map