import { IFlagshipConfig } from '../config/index';
import { CampaignDTO, primitive } from '../types';
import { IHttpClient } from '../utils/HttpClient';
import { MurmurHash } from '../utils/MurmurHash';
import { VisitorAbstract } from '../visitor/VisitorAbstract';
import { DecisionManager } from './DecisionManager';
import { ISdkManager } from '../main/ISdkManager';
import { ITrackingManager } from '../api/ITrackingManager.ts';
type ConstructorParam = {
    httpClient: IHttpClient;
    config: IFlagshipConfig;
    murmurHash: MurmurHash;
    sdkManager: ISdkManager;
    trackingManager: ITrackingManager;
    flagshipInstanceId?: string;
};
export declare class BucketingManager extends DecisionManager {
    private _murmurHash;
    private _sdkManager;
    private get _bucketingContent();
    constructor({ httpClient, config, murmurHash, sdkManager, trackingManager, flagshipInstanceId }: ConstructorParam);
    private sendContext;
    getThirdPartySegment(visitorId: string): Promise<Record<string, primitive>>;
    getCampaignsAsync(visitor: VisitorAbstract): Promise<CampaignDTO[] | null>;
    private getVisitorCampaigns;
    private getVariation;
    private isMatchTargeting;
    private isANDListOperator;
    private checkAndTargeting;
    private testListOperatorLoop;
    private testListOperator;
    private testOperator;
}
export {};
