/****************************************************************************
 * Copyright 2016-2017, 2019-2024 Optimizely, Inc. and contributors        *
 *                                                                          *
 * Licensed under the Apache License, Version 2.0 (the "License");          *
 * you may not use this file except in compliance with the License.         *
 * You may obtain a copy of the License at                                  *
 *                                                                          *
 *    https://www.apache.org/licenses/LICENSE-2.0                           *
 *                                                                          *
 * Unless required by applicable law or agreed to in writing, software      *
 * distributed under the License is distributed on an "AS IS" BASIS,        *
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
 * See the License for the specific language governing permissions and      *
 * limitations under the License.                                           *
 ***************************************************************************/
/// <reference types="node" />
import { getLogger, LogLevel, setLogHandler, setLogLevel } from './modules/logging';
import * as enums from './utils/enums';
import * as loggerPlugin from './plugins/logger';
import defaultErrorHandler from './plugins/error_handler';
import defaultEventDispatcher from './plugins/event_dispatcher/index.node';
import { OptimizelyDecideOption, Client, Config } from './shared_types';
/**
 * Creates an instance of the Optimizely class
 * @param  {Config} config
 * @return {Client|null} the Optimizely client object
 *                           null on error
 */
declare const createInstance: (config: Config) => Client | null;
/**
 * Entry point into the Optimizely Node testing SDK
 */
export { loggerPlugin as logging, defaultErrorHandler as errorHandler, defaultEventDispatcher as eventDispatcher, enums, setLogHandler as setLogger, setLogLevel, createInstance, OptimizelyDecideOption, };
export * from './common_exports';
declare const _default: {
    logging: typeof loggerPlugin;
    errorHandler: {
        handleError: typeof import("./plugins/error_handler").handleError;
    };
    eventDispatcher: {
        dispatchEvent: (eventObj: import("./shared_types").Event, callback: (response: {
            statusCode: number;
        }) => void) => void | import("http").ClientRequest;
    };
    enums: typeof enums;
    setLogger: typeof setLogHandler;
    setLogLevel: typeof setLogLevel;
    createInstance: (config: Config) => Client | null;
    OptimizelyDecideOption: typeof OptimizelyDecideOption;
    LogLevel: typeof LogLevel;
    getLogger: typeof getLogger;
    setLogHandler: typeof setLogHandler;
    LOG_LEVEL: {
        NOTSET: number;
        DEBUG: number;
        INFO: number;
        WARNING: number;
        ERROR: number;
    };
    createLogger: typeof loggerPlugin.createLogger;
};
export default _default;
export * from './export_types';
