import { DynamicModule } from '@nestjs/common';
import { TerminusModuleOptions, TerminusModuleAsyncOptions } from './terminus-module-options.interface';
/**
 * The internal Terminus Module which handles the integration
 * with the third party Terminus library and Nest
 *
 * @internal
 */
export declare class TerminusCoreModule {
    /**
     * Bootstraps the internal Terminus Module with the given options
     * synchronously and sets the correct providers
     * @param options The options to bootstrap the module synchronously
     */
    static forRoot(options?: TerminusModuleOptions): DynamicModule;
    /**
     * Bootstraps the internal Terminus Module with the given
     * options asynchronously and sets the correct providers
     * @param options The options to bootstrap the module
     */
    static forRootAsync(options: TerminusModuleAsyncOptions): DynamicModule;
    /**
     * Returns the asynchrnous providers depending on the given module
     * options
     * @param options Options for the asynchrnous terminus module
     */
    private static createAsyncProviders;
    /**
     * Returns the asynchrnous Terminus options providers depending on the
     * given module options
     * @param options Options for the asynchrnous terminus module
     */
    private static createAsyncOptionsProvider;
}
