/**
 * Copyright 2025, 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 { Client, Config } from './shared_types';
import { RequestHandler } from './utils/http_request_handler/http';
import { Platform } from './platform_support';
export type UniversalConfig = Config & {
    requestHandler: RequestHandler;
};
/**
 * Creates an instance of the Optimizely class
 * @param  {Config} config
 * @return {Client|null} the Optimizely client object
 *                           null on error
 */
export declare const createInstance: (config: UniversalConfig) => Client;
export { createEventDispatcher } from './event_processor/event_dispatcher/event_dispatcher_factory';
export { createPollingProjectConfigManager } from './project_config/config_manager_factory.universal';
export { createForwardingEventProcessor, createBatchEventProcessor } from './event_processor/event_processor_factory.universal';
export { createOdpManager } from './odp/odp_manager_factory.universal';
export * from './common_exports';
export declare const clientEngine: string;
export type { RequestHandler } from './utils/http_request_handler/http';
export type { StaticConfigManagerConfig, OpaqueConfigManager, } from './project_config/config_manager_factory';
export type { UniversalPollingConfigManagerConfig } from './project_config/config_manager_factory.universal';
export type { LogEvent, EventDispatcherResponse, EventDispatcher, } from './event_processor/event_dispatcher/event_dispatcher';
export type { UniversalBatchEventProcessorOptions } from './event_processor/event_processor_factory.universal';
export type { UniversalOdpManagerOptions, } from './odp/odp_manager_factory.universal';
export type { UserAgentParser, } from './odp/ua_parser/user_agent_parser';
export type { OpaqueEventProcessor, } from './event_processor/event_processor_factory';
export type { LogHandler, } from './logging/logger';
export type { OpaqueLevelPreset, LoggerConfig, OpaqueLogger, } from './logging/logger_factory';
export type { ErrorHandler } from './error/error_handler';
export type { OpaqueErrorNotifier } from './error/error_notifier_factory';
export type { SyncCache, AsyncCache, Cache, SyncCacheWithRemove, AsyncCacheWithRemove, CacheWithRemove } from './utils/cache/cache';
export type { SyncStore, AsyncStore, Store } from './utils/cache/store';
export type { NotificationType, NotificationPayload, ActivateListenerPayload as ActivateNotificationPayload, DecisionListenerPayload as DecisionNotificationPayload, TrackListenerPayload as TrackNotificationPayload, LogEventListenerPayload as LogEventNotificationPayload, OptimizelyConfigUpdateListenerPayload as OptimizelyConfigUpdateNotificationPayload, } from './notification_center/type';
export type { UserAttributeValue, UserAttributes, OptimizelyConfig, FeatureVariableValue, OptimizelyVariable, OptimizelyVariation, OptimizelyExperiment, OptimizelyFeature, OptimizelyDecisionContext, OptimizelyForcedDecision, EventTags, Event, DatafileOptions, UserProfileService, UserProfile, ListenerPayload, OptimizelyDecision, OptimizelyUserContext, Config, Client, ActivateListenerPayload, TrackListenerPayload, NotificationCenter, OptimizelySegmentOption, } from './shared_types';
export declare const __platforms: Platform[];
