/**
 * Copyright 2019-2024, Optimizely
 *
 * 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.
 */
import { getLogger, LogLevel, setLogHandler, setLogLevel } from './modules/logging';
import * as enums from './utils/enums';
import defaultErrorHandler from './plugins/error_handler';
import * as loggerPlugin from './plugins/logger/index.react_native';
import defaultEventDispatcher from './plugins/event_dispatcher/index.browser';
import { OptimizelyDecideOption, Client, Config } from './shared_types';
import * as commonExports from './common_exports';
/**
 * 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 Javascript SDK for React Native
 */
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("./plugins/event_dispatcher/index.browser").Event, callback: (response: {
            statusCode: number;
        }) => void) => void;
    };
    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 commonExports.createLogger;
};
export default _default;
export * from './export_types';
