import { Params } from '@angular/router';
import * as WI from '../interfaces/WidgetInterfaces';
import { AppStateService } from '../services/AppStateService';
import { ClientSettingsService } from '../services/ClientSettingsService';
import { DisplayStateService } from './../services/DisplayStateService';
export declare class UtilityFunctions {
    static Log(logLevel: number, message: string, c: ClientSettingsService, a: AppStateService, params?: Params): void;
    static CanGetEnvironmentVariables(dss: DisplayStateService): boolean;
    static checkApiVersionDirect(minimumVersionComponents: Number[], apiVersion: string): ApiVersionCheckResults;
    static checkApiVersion(minimumVersionComponents: Number[], displayStateService: DisplayStateService): ApiVersionCheckResults;
    static InitializeDataConsumerConfigForEdit(dcc: WI.DataConsumerConfiguration): void;
    static SortedParamsString(params: Params): string;
    static MatchWidgetConfigurations(context: Params, masterWidgetConfigurationList: WI.WidgetConfiguration[], c: ClientSettingsService, a: AppStateService): WI.WidgetConfiguration[];
    static CreateContextKey(matchingWidgets: WI.WidgetConfiguration[], currentContext: Params): string;
    static ListContains(list: string[], value: string): boolean;
    static MatchWidgetConfiguration(context: Params, masterWC: WI.WidgetConfiguration, c: ClientSettingsService, a: AppStateService): boolean;
}
export declare class Dictionary<K, V> {
    private _keys;
    private _values;
    constructor();
    upsert(k: K, v: V): void;
    keys(): K[];
    values(): V[];
    remove(k: K): void;
    get(k: K): V;
    containsKey(k: K): boolean;
}
export declare class ApiVersionCheckResults {
    minimumRequiredVersion: string;
    ApiVersion: string;
    pass: boolean;
    error: boolean;
    message: string;
    errorMessage: string;
}
export declare class WindowUtils {
    static STORAGE_TYPE_LOCAL: string;
    static STORAGE_TYPE_SESSION: string;
    static getNativeWindowObject(): Window;
}
