import { InternalElectricConfig, HydratedConfig } from '../config/index.js'; import { DatabaseAdapter } from '../electric/adapter.js'; import { Migrator } from '../migrators/index.js'; import { Notifier } from '../notifiers/index.js'; import { DbName } from '../util/types.js'; import { Satellite, Registry } from './index.js'; import { SatelliteOverrides } from './config.js'; import { SocketFactory } from '../sockets/index.js'; import { DbSchema } from '../client/model/index.js'; export declare abstract class BaseRegistry implements Registry { satellites: { [key: DbName]: Satellite; }; startingPromises: { [key: DbName]: Promise; }; stoppingPromises: { [key: DbName]: Promise; }; constructor(); abstract startProcess(dbName: DbName, dbDescription: DbSchema, adapter: DatabaseAdapter, migrator: Migrator, notifier: Notifier, socketFactory: SocketFactory, config: InternalElectricConfig, opts?: SatelliteOverrides): Promise; ensureStarted(dbName: DbName, dbDescription: DbSchema, adapter: DatabaseAdapter, migrator: Migrator, notifier: Notifier, socketFactory: SocketFactory, config: InternalElectricConfig, opts?: SatelliteOverrides): Promise; ensureAlreadyStarted(dbName: DbName): Promise; stop(dbName: DbName, shouldIncludeStarting?: boolean): Promise; stopAll(shouldIncludeStarting?: boolean): Promise; } export declare class GlobalRegistry extends BaseRegistry { startProcess(dbName: DbName, dbDescription: DbSchema, adapter: DatabaseAdapter, migrator: Migrator, notifier: Notifier, socketFactory: SocketFactory, config: HydratedConfig): Promise; } export declare const globalRegistry: GlobalRegistry;