import { AuthorizationPluginOptions } from './lib/auth/authorization/authorization-plugin.js'; import { BillingPluginOptions } from './lib/auth/billing/billing-plugin.js'; import { OperationsBillingPluginOptions } from './lib/auth/billing/operations-billing-plugin.js'; import { AuthPlugin } from './lib/auth/core/auth-plugin.js'; import { NotificationsPluginOptions } from './lib/auth/notifications/notifications-plugin.js'; import { AthenaOrganizationUiOptions } from './lib/auth/organization/organization-plugin.js'; import { StoragePluginOptions } from './lib/auth/storage/storage-plugin.js'; import { ThemePluginOptions } from './lib/auth/theme/theme-plugin.js'; import { WorkspacePluginOptions } from './lib/auth/workspace/workspace-plugin.js'; export * from './components/auth/api-key/api-keys.js'; export * from './components/auth/billing/index.js'; export * from './components/auth/delete-user/danger-zone.js'; export * from './components/auth/delete-user/delete-user.js'; export * from './components/auth/magic-link/magic-link.js'; export * from './components/auth/multi-session/manage-account.js'; export * from './components/auth/multi-session/manage-accounts.js'; export * from './components/auth/multi-session/switch-account-submenu.js'; export * from './components/auth/multi-session/switch-account-submenu-content.js'; export * from './components/auth/multi-session/switch-account-submenu-item.js'; export * from './components/auth/oauth/index.js'; export * from './components/auth/notifications/index.js'; export * from './components/auth/organization/organization-settings.js'; export * from './components/auth/passkey/passkeys.js'; export * from './components/auth/storage/index.js'; export * from './components/auth/theme/appearance.js'; export * from './components/auth/theme/theme-toggle-item.js'; export * from './components/auth/username/sign-in-username.js'; export * from './components/auth/username/username-field.js'; export * from './components/auth/workspace/index.js'; export * from './lib/auth/api-key/api-key-plugin.js'; export * from './lib/auth/authorization/authorization-plugin.js'; export * from './lib/auth/billing/billing-plugin.js'; export * from './lib/auth/billing/customer-billing-plugin.js'; export * from './lib/auth/billing/operations-billing-plugin.js'; export * from './lib/auth/core/auth-plugin.js'; export * from './lib/auth/core/ui-options.js'; export * from './lib/auth/delete-user/delete-user-plugin.js'; export * from './lib/auth/magic-link/magic-link-plugin.js'; export * from './lib/auth/organization/organization-plugin.js'; export * from './lib/auth/notifications/notifications-plugin.js'; export * from './lib/auth/passkey/passkey-plugin.js'; export * from './lib/auth/session/multi-session-plugin.js'; export * from './lib/auth/storage/storage-plugin.js'; export * from './lib/auth/theme/theme-plugin.js'; export * from './lib/auth/username/username-plugin.js'; export * from './lib/auth/workspace/workspace-plugin.js'; /** Feature flags for the default Athena Auth plugin bundle used by the package example app. */ export interface AthenaAuthPluginsOptions { apiKey?: boolean; /** * Registers `/settings/authorization` as the **platform-role** console * (not organization RBAC). Navigation always shows **Platform * administration** when this plugin is on; the page is forbidden * without `authorization.platform.write` (typically `platform_admin`). * Organization roles stay on Organizations. Off by default. */ authorization?: boolean | AuthorizationPluginOptions; /** * User billing tab (`/settings/billing`) using Account/Security card grammar. * Pass `true` for defaults or `false` to omit. Table/KPI operations billing * is {@link operationsBillingPlugin}, not this flag. */ billing?: boolean | BillingPluginOptions; deleteUser?: boolean; /** * Operations billing console (`/settings/operations-billing`). Off by default. */ operationsBilling?: boolean | OperationsBillingPluginOptions; /** * User `/settings/notifications`. Off by default unless `workspace` is on * (workspace no longer registers this tab). Pass `true` without workspace, * or `{ channels: { email, in_app, push } }` to hide delivery channels * (`false` omits the channel from the card and preference matrix). */ notifications?: boolean | NotificationsPluginOptions; /** * Organization settings (`/settings/organizations`). Pass `true` for * defaults (`personalAccount: true`) or `{ personalAccount: false }` to * hide personal scope. `false` omits the plugin. */ organization?: boolean | AthenaOrganizationUiOptions; /** * Passkey chrome. Default `"auto"` registers the plugin; cards/buttons * still hide when `auth.capabilities.passkeys` is known:false. * `false` omits the plugin entirely. */ passkey?: boolean | "auto"; /** * User storage tab (`/settings/storage`). Off by default — pass `true` for * defaults or {@link StoragePluginOptions} for a custom settings path. */ storage?: boolean | StoragePluginOptions; theme?: ThemePluginOptions | false; workspace?: boolean | WorkspacePluginOptions; } /** * Default Athena feature plugins used by the example app. Consumers can opt * out of individual features or pass `theme` options when they mount * `ThemeProvider` separately. * * Object options for `billing` / `storage` / `workspace` / `notifications` / * `organization` are preserved and passed through to the underlying plugin * factories (not coerced to a bare boolean). */ export declare function createAthenaAuthPlugins({ apiKey, authorization, billing, deleteUser, operationsBilling, organization, notifications, passkey, storage, theme, workspace }?: AthenaAuthPluginsOptions): AuthPlugin[]; /** * Ordinary Auth UI kit: passkey auto, organizations and API keys on, * lean billing/workspace off. * Theme is opt-in so hosts can pass `useTheme` under ThemeProvider. */ export declare function createDefaultAthenaAuthKit(options?: Pick): AuthPlugin[]; /** Elite-program alias. */ export declare const createDefaultAthenaAuthUiKit: typeof createDefaultAthenaAuthKit;