import { ModuleRef } from '@nestjs/core';
import { DynamicModule, OnModuleDestroy } from '@nestjs/common';
import { ScyllaModuleOptions, ScyllaModuleAsyncOptions } from './interfaces';
export declare const SCYLLA_MODULE_OPTIONS = "ScyllaModuleOptions";
export declare const SCYLLA_MODULE_ID = "ScyllaModuleId";
export declare class ScyllaCoreModule implements OnModuleDestroy {
    private readonly options;
    private readonly moduleRef;
    constructor(options: ScyllaModuleOptions, moduleRef: ModuleRef);
    static forRoot(options?: ScyllaModuleOptions): DynamicModule;
    static forRootAsync(options: ScyllaModuleAsyncOptions): DynamicModule;
    onModuleDestroy(): Promise<void>;
    private static createAsyncProviders;
    private static createAsyncOptionsProvider;
    private static createConnectionFactory;
}
