declare enum Region {
    US = "US",
    EU = "EU"
}

interface CohoSDKOptions {
    tenantId: string;
    region?: Region;
    retries?: number;
    retryDelay?: number;
    enableLogging?: boolean;
    proxyEndpoint?: string;
}

declare class CohoSDK {
    private readonly client;
    private readonly options;
    private readonly deviceInfo;
    private uid;
    private globalProperties;
    private endpoint;
    constructor(options: CohoSDKOptions);
    setUserId(userId: string): void;
    setGlobalProperties(properties: Record<string, unknown>): void;
    sendEvent(eventName: string, additionalProperties?: Record<string, unknown>): Promise<void>;
    private saveGlobalPropertiesToLocalStorage;
    private saveUserIdToLocalStorage;
    private getUserIdFromLocalStorage;
    private getGlobalPropertiesFromLocalStorage;
    private isBrowser;
    private fetchWithRetry;
    private onEventFailed;
    private log;
}

export { CohoSDK, type CohoSDKOptions, Region };
