import { IDatabase } from './IDatabase'; import { DatabaseConfiguration } from './DatabaseConfiguration'; import { ConnectionState } from '@sergiocabral/helper'; /** * Classe base para conexão com o banco de dados */ export declare abstract class Database implements IDatabase { protected readonly getConfiguration: () => TDatabaseConfiguration; private readonly whenConnectionFailsIgnoreAndSetConnectionClosed; /** * Contexto do log. */ private static logContext2; /** * Construtor. * @param getConfiguration Configuração. * @param whenConnectionFailsIgnoreAndSetConnectionClosed Em caso de falha na conexão ignorar e definir o estado como conexão fechada. */ constructor(getConfiguration: () => TDatabaseConfiguration, whenConnectionFailsIgnoreAndSetConnectionClosed?: boolean); /** * Estado da conexçao. */ private connectionState; /** * Última configuração utilizada. */ private lastConfiguration?; /** * Configuração. */ protected get configuration(): TDatabaseConfiguration; /** * Estado da conexão. */ get state(): ConnectionState; /** * Fecha a conexão. */ close(): Promise; /** * Abre a conexão. */ open(): Promise; /** * Força a finalização de qualquer conexão aberta e redefine a instância da conexão. */ protected abstract resetConnection(configuration: TDatabaseConfiguration): Promise | void; /** * Fecha a conexão. */ protected abstract closeConnection(configuration: TDatabaseConfiguration): Promise | void; /** * Abre a conexão. */ protected abstract openConnection(configuration: TDatabaseConfiguration): Promise | void; /** * Trata uma falha de conexão. */ private connectionFail; /** * Timeout para nova tentativa de carregamento por causa de ConnectionState.Switching */ private handleConfigurationReloadedTimeout?; /** * Handle: ConfigurationReloaded */ private handleConfigurationReloaded; } //# sourceMappingURL=Database.d.ts.map