import type { FrameworkContext } from '@rangka/shared'; import type { FastifyInstance } from 'fastify'; import type { DiscoverySource, DiscoveredApp } from './types.js'; import { SchemaRegistry } from '../schema/registry.js'; import { DatabaseClient } from '../db/client.js'; import type { DatabaseClientConfig } from '../db/client.js'; import type { ServerConfig } from '../api/types.js'; import { PermissionRegistry } from '../auth/permission-registry.js'; import { HookRegistry } from '../hooks/registry.js'; import { JobRegistry } from '../jobs/registry.js'; import { JobWorker } from '../jobs/worker.js'; import { ScheduleManager } from '../jobs/scheduler.js'; import { EventBus } from '../events/bus.js'; import { ServiceRegistry } from '../services/registry.js'; import { FixtureRegistry } from '../fixtures/registry.js'; import { WidgetRegistry } from '../widgets/widget-registry.js'; import { AdapterRegistry } from '../plugins/adapter-registry.js'; import { PluginLifecycleManager } from '../plugins/lifecycle.js'; import type { PluginDefinition } from '../plugins/types.js'; import type { RolesConfig, JobConfig } from '@rangka/shared'; import type { JobWorkerConfig } from '../jobs/types.js'; import type { ServiceDefinition } from '../services/types.js'; import type { FixtureDefinition } from '../fixtures/types.js'; export interface BootOptions { discoverySource: DiscoverySource; apps: DiscoveredApp[]; database?: DatabaseClientConfig; server?: ServerConfig; skipAutoSync?: boolean; roles?: Array<{ config: RolesConfig; app: string; }>; jobs?: Array<{ name: string; config: JobConfig; }>; services?: ServiceDefinition[]; fixtures?: FixtureDefinition[]; worker?: JobWorkerConfig; config?: Record; plugins?: PluginDefinition[]; pluginConfig?: Record>; } export interface BootResult { registry: SchemaRegistry; permissionRegistry: PermissionRegistry; hookRegistry: HookRegistry; jobRegistry: JobRegistry; eventBus: EventBus; serviceRegistry: ServiceRegistry; fixtureRegistry: FixtureRegistry; widgetRegistry: WidgetRegistry; adapterRegistry: AdapterRegistry; pluginLifecycle: PluginLifecycleManager; frameworkContext?: FrameworkContext; jobWorker?: JobWorker; scheduleManager?: ScheduleManager; db?: DatabaseClient; server?: FastifyInstance; pages?: Array<{ module: string; page: import('@rangka/shared').PageDefinition; }>; modules?: import('@rangka/shared').ModuleConfig[]; } export declare function boot(options: BootOptions): Promise; //# sourceMappingURL=index.d.ts.map