import { DynamicModule, OnApplicationShutdown } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
import { SlonikModuleAsyncOptions, SlonikModuleOptions } from './interfaces';
export declare class SlonikCoreModule implements OnApplicationShutdown {
    private readonly options;
    private readonly moduleRef;
    private readonly logger;
    constructor(options: SlonikModuleOptions, moduleRef: ModuleRef);
    static forRoot(options: SlonikModuleOptions): DynamicModule;
    static forRootAsync(options: SlonikModuleAsyncOptions): DynamicModule;
    onApplicationShutdown(): Promise<void>;
    private static createAsyncProviders;
    private static createAsyncOptionsProvider;
    private static createPoolFactory;
}
