import { LDClientContext, LDLogger, Platform } from '../api';
import ApplicationTags from './ApplicationTags';
import ServiceEndpoints from './ServiceEndpoints';
/**
 * Basic configuration applicable to many SDK components for both server and
 * client SDKs.
 */
interface BasicConfiguration {
    tags?: ApplicationTags;
    logger?: LDLogger;
    /**
     * True if the SDK was configured to be completely offline.
     */
    offline?: boolean;
    /**
     * The configured SDK key.
     */
    sdkKey: string;
    /**
     * Defines the base service URIs used by SDK components.
     */
    serviceEndpoints: ServiceEndpoints;
    /**
     * Sets the initial reconnect delay for the streaming connection, in seconds.
     */
    streamInitialReconnectDelay?: number;
}
/**
 * The client context provides basic configuration and platform support which are required
 * when building SDK components.
 */
export default class ClientContext implements LDClientContext {
    readonly platform: Platform;
    basicConfiguration: BasicConfiguration;
    constructor(sdkKey: string, configuration: {
        logger?: LDLogger;
        offline?: boolean;
        serviceEndpoints: ServiceEndpoints;
        tags?: ApplicationTags;
    }, platform: Platform);
}
export {};
//# sourceMappingURL=ClientContext.d.ts.map