/** * Type definitions for smrt-users * @packageDocumentation */ export { AccessRequestStatus, MembershipStatus, OverrideEffect, SessionStatus, TenantPermissionEffect, TenantStatus, UserStatus, } from '@happyvertical/smrt-types'; /** * Default system role slugs */ export declare const DEFAULT_ROLE_SLUGS: { readonly OWNER: "owner"; readonly ADMIN: "admin"; readonly MEMBER: "member"; readonly VIEWER: "viewer"; }; /** * Default system roles configuration */ export declare const DEFAULT_ROLES: readonly [{ readonly slug: "owner"; readonly name: "Owner"; readonly description: "Full access to all resources"; }, { readonly slug: "admin"; readonly name: "Administrator"; readonly description: "Manage users and settings"; }, { readonly slug: "member"; readonly name: "Member"; readonly description: "Standard access"; }, { readonly slug: "viewer"; readonly name: "Viewer"; readonly description: "Read-only access"; }]; export type DefaultRoleSlug = (typeof DEFAULT_ROLE_SLUGS)[keyof typeof DEFAULT_ROLE_SLUGS]; /** * Tenant policy mode * * - `flexible`: No tenant created on signup, user can have zero tenants * - `personal`: Auto-create personal tenant on first login, can delete all * - `required`: Auto-create personal tenant, must keep at least one */ export type TenantPolicyMode = 'flexible' | 'personal' | 'required'; /** * Tenant policy configuration * * Set in smrt.config.js to control tenant creation behavior */ export interface TenantPolicy { /** Policy mode */ mode: TenantPolicyMode; /** Maximum tenants per user (0 = unlimited) */ maxTenants: number; /** Name for auto-created default tenant */ defaultName: string; } /** * Default tenant policy (flexible, unlimited) */ export declare const DEFAULT_TENANT_POLICY: TenantPolicy; //# sourceMappingURL=index.d.ts.map