import UFS from "./ufs"; export default interface Config { disabledDb: boolean; db: { type: string; host: string; port: number; username: string; password: string; database: string; entities: string[]; synchronize: boolean; logging: boolean; }; disabledGraphQL: boolean; publicFolders: string[]; viewFolders: string[]; translationFolders: string[]; middlewaresFolders: string[]; controllersFolders: string[]; migrationsFolders: string[]; disableMigrations: boolean; sessionSecret: string; sessionStore?: any; tokenSecret: string; mailer: { sender: string; host: string; port: number; secure: boolean; auth: { user: string; pass: string; }; }; defaultLanguage: string; uploadPath: string; cachePath: string; jsonLimit?: string; ufs: UFS; onDatabaseInit: () => void; chachingImages: boolean; } export declare class ConfigBuilder { private config; constructor(basePath: string); setPublicFolders(folders: string[]): ConfigBuilder; setViewFolders(folders: string[]): ConfigBuilder; setTranslationFolders(folders: string[]): ConfigBuilder; setMiddlewaresFolders(folders: string[]): ConfigBuilder; setControllersFolders(folders: string[]): ConfigBuilder; setMigrationsFolders(folders: string[]): ConfigBuilder; setSessionSecret(secret: string): ConfigBuilder; setTokenSecret(secret: string): ConfigBuilder; setSessionStore(store: any): ConfigBuilder; setUploadPath(path: string): ConfigBuilder; setCachePath(path: string): ConfigBuilder; setDefaultLanguage(language: string): ConfigBuilder; setEntitiesFolders(folders: string[]): ConfigBuilder; setDatabaseType(type: string): ConfigBuilder; setDatabaseHost(host: string): ConfigBuilder; setDatabasePort(port: number): ConfigBuilder; setDatabaseLogin(username: string, password: string): ConfigBuilder; setDatabase(database: string): ConfigBuilder; disableDB(): ConfigBuilder; disableMigration(): ConfigBuilder; enableMigration(): ConfigBuilder; disableGraphQL(): ConfigBuilder; setMailerSender(address: string): ConfigBuilder; setMailerAuth(user: string, password: string): ConfigBuilder; setMailerServer(host: string, port: number, secure: boolean): ConfigBuilder; setCustomUserEntity(hasCustom: boolean): ConfigBuilder; setJsonLimit(limit: string): ConfigBuilder; setUFS(ufs: UFS): ConfigBuilder; setOnDatabaseInit(cb: () => void): ConfigBuilder; enableCachingImages(): ConfigBuilder; build(): Config; }