import { Store } from './store'; import { Log } from '../typings/log'; import { Typegoose } from 'typegoose'; export declare type UpdateFunction = (mongoStore: Store, logger: Log) => Promise; export declare function updateServer(mongoStore: Store, serverConfig: ServerConfig, availableUpdateFiles: string[], serverConfigRepository: ServerConfigRepository, logger: Log): Promise; export declare class ServerConfig extends Typegoose { active: boolean; processedUpdates: string[]; seeded: boolean; inProcess: boolean; } export declare type ServerConfigRepository = { getServerConfigAsync: () => Promise; updateProcessedAsync: (updateName: string) => Promise; seedProcessedAsync: () => Promise; setUpdateInProcessAsync: (inProcess: boolean) => Promise; isUpdateInProcessAsync: () => Promise; }; export declare function createServerConfigRepository(store: Store): ServerConfigRepository;