/**
 * Copyright 2016-2017, 2019-2022, 2023 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
 *
 * http://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 { setLogHandler, setLogLevel } from '@optimizely/js-sdk-logging';
import defaultErrorHandler from './plugins/error_handler';
import defaultEventDispatcher from './plugins/event_dispatcher/index.browser';
import sendBeaconEventDispatcher from './plugins/event_dispatcher/send_beacon_dispatcher';
import * as enums from './utils/enums';
import * as loggerPlugin from './plugins/logger';
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;
declare const __internalResetRetryState: () => void;
/**
 * Entry point into the Optimizely Browser SDK
 */
export { loggerPlugin as logging, defaultErrorHandler as errorHandler, defaultEventDispatcher as eventDispatcher, sendBeaconEventDispatcher, enums, setLogHandler as setLogger, setLogLevel, createInstance, __internalResetRetryState, OptimizelyDecideOption, };
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;
    };
    sendBeaconEventDispatcher: import("./shared_types").EventDispatcher;
    enums: typeof enums;
    setLogger: typeof setLogHandler;
    setLogLevel: typeof setLogLevel;
    createInstance: (config: Config) => Client | null;
    __internalResetRetryState: () => void;
    OptimizelyDecideOption: typeof OptimizelyDecideOption;
};
export default _default;
export * from './export_types';
