import { SetterPattern } from "../utilities/patterns/setter.pattern";
import { ConsentPattern } from "../utilities/patterns/consent.pattern";
import { EnablePattern } from "../utilities/patterns/enable.pattern";
import { DicoverySettings } from "../apis/discovery/settings";
import { Logger, LoggerConfig } from "../utilities/logger";
export declare enum TrackingSource {
    tag = "tag",
    api = "api"
}
export declare type SdkSettingsConfig = {
    fetch: Function;
    store: string;
    credentials: {
        uuid: string;
        discovery: {
            key: string;
        };
        activityTracking: {
            key: string;
        };
    };
    application: {
        version: string;
        source: string;
        userAgent: string;
        ip: string;
    };
    tracking: {
        source: TrackingSource;
    };
    url: {
        proxy: boolean;
        discovery: string;
        tracking: string;
    };
    logger: LoggerConfig;
};
export declare class SdkSettings {
    fetch: Function;
    store: SetterPattern;
    gdpr: ConsentPattern;
    credentials: {
        uuid: SetterPattern;
        discovery: {
            key: SetterPattern;
        };
        activityTracking: {
            key: SetterPattern;
        };
    };
    application: {
        version: SetterPattern;
        source: SetterPattern;
        userAgent: SetterPattern;
        ip: SetterPattern;
    };
    tracking: {
        source: SetterPattern;
        user: {
            id: SetterPattern;
        };
        session: {
            id: SetterPattern;
        };
    };
    url: {
        proxy: EnablePattern;
        discovery: SetterPattern;
        activityTracking: SetterPattern;
    };
    logger: Logger;
    discovery?: DicoverySettings;
    constructor(setup: any);
}
