import { TTheme, type TNavigationItem } from '@blocklet/meta/lib/types'; import { blockletEnv } from '@blocklet/env'; import { BlockletService } from './service/blocklet'; import Notification from './service/notification'; import { WalletAuthenticator } from './wallet-authenticator'; import { WalletHandlers } from './wallet-handler'; import { BlockletAuthenticator } from './connect/authenticator'; import { createConnectHandlers } from './connect/handler'; import { Database } from './database/index'; import middlewares from './middlewares/index'; import { getWallet } from './wallet'; import Component from './component/index'; import Security from './security/index'; import config, { TComponent } from './config'; /** @deprecated Use BlockletService instead */ export { BlockletService as AuthService }; /** @deprecated Use BlockletService instead */ export { BlockletService as Auth }; export { BlockletService }; export { Notification as NotificationService }; export { Notification }; export { WalletHandlers }; export { WalletAuthenticator }; export { BlockletAuthenticator }; export { createConnectHandlers }; export { Database }; export { getWallet }; export { blockletEnv as env }; export { middlewares }; export { Component as component }; export { Component }; export { Security }; export { config }; export type BlockletSettings = { session: { ttl: number; cacheTtl: number; }; federated: { master: { appId: string; appPid: string; appName: string; appDescription: string; appUrl: string; appLogo: string; version: string; }; config: Record; }; oauth: Record; }; export interface WindowBlocklet { [x: string]: any; serverDid: string; serverVersion: string; did: string; appId: string; appIds: string[]; appPid: string; appPk: string; appName: string; appDescription: string; appLogo: string; appLogoRect: string; appUrl: string; webWalletUrl: string; isComponent: boolean; prefix: string; groupPrefix: string; pageGroup: string; version: string; mode: string; status: string; tenantMode: 'single' | 'multiple'; theme: TTheme; navigation: TNavigationItem[]; preferences: Record; languages: { code: string; name: string; }[]; passportColor: string; componentId: string; componentMountPoints: TComponent[]; alsoKnownAs: string[]; trustedFactories: string[]; updatedAt: number; settings: BlockletSettings; } declare global { interface Window { blocklet: WindowBlocklet; } } export * from './component';