import type { ServiceInstanceOptions } from './types.js'; type SyncableRepository = { sync: () => Promise; }; type RunOptions = { onRepositoryMissing?: () => Promise | T; skipSync?: boolean; }; type BaseServiceConfig = { repository: NonNullable; createRepository?: (options: ServiceInstanceOptions) => Promise>; }; export declare abstract class BaseService { #private; protected constructor(options: ServiceInstanceOptions | undefined, config: BaseServiceConfig); protected get isLocalDbMode(): boolean; protected getRepository(): R; protected setRepository(repository: NonNullable): void; protected recreateRepository(): Promise | null>; protected syncRepositoryIfNeeded(): Promise; protected runRead(run: (repo: NonNullable) => Promise, options?: RunOptions): Promise; protected runWrite(run: (repo: NonNullable) => Promise, options?: RunOptions): Promise; } export {}; //# sourceMappingURL=base-service.d.ts.map