import { type FlagOverrides, OverrideBehaviour } from "configcat-common";
export interface IQueryStringProvider {
    readonly currentValue?: string | {
        [key: string]: string | ReadonlyArray<string>;
    };
}
type SettingMap = {
    [name: string]: Setting;
};
export declare class QueryParamsOverrideDataSource implements IOverrideDataSource {
    private readonly watchChanges?;
    private readonly paramPrefix;
    private readonly queryStringProvider;
    private queryString;
    private settings;
    constructor(watchChanges?: boolean, paramPrefix?: string, queryStringProvider?: IQueryStringProvider);
    getOverrides(): Promise<SettingMap>;
    getOverridesSync(): SettingMap;
}
type IOverrideDataSource = FlagOverrides["dataSource"];
type Setting = ReturnType<IOverrideDataSource["getOverridesSync"]>[""];
type FlagOverridesConstructor = {
    new (dataSource: IOverrideDataSource, behaviour: OverrideBehaviour): FlagOverrides;
};
declare const flagOverridesConstructor: FlagOverridesConstructor;
export { flagOverridesConstructor };
//# sourceMappingURL=FlagOverrides.d.ts.map