///
///
import { DataDashboardItem } from '../model/items/data-dashboard-item';
import { IDataFieldsProvider } from './_data-source-browser';
import { SequenceAction, WorkingModeSwitchingOptions } from './common-interfaces';
export declare function getDimensionsExpressions(dashboardItem: DataDashboardItem, dataFieldProvider: IDataFieldsProvider): JQueryPromise<{
[dimensionName: string]: string;
}>;
export declare class CancellationToken {
static get None(): CancellationToken;
private _source;
get canceled(): boolean;
constructor(source: JQuery.Deferred);
}
export interface CancelableSequenceAction extends SequenceAction {
cancelableAction: (options: WorkingModeSwitchingOptions, cancellationToken: CancellationToken) => JQueryPromise;
}
export declare function toCancelableSequenceAction(action: SequenceAction): CancelableSequenceAction;
export declare function combineOptions(previousOptions: WorkingModeSwitchingOptions, options: WorkingModeSwitchingOptions[]): WorkingModeSwitchingOptions;
export declare const requestParamsValidator: {
isValid(requestParams: any): boolean;
};
export type FocusableItem = {
element: HTMLElement;
strategy?: IFocusRestoreStrategy;
fallBackItemElement?: HTMLElement;
};
export declare class FocusManager {
private stack;
save(item: FocusableItem): void;
handleMaximizedItem(itemName: string, strategy: IFocusRestoreStrategy): void;
focusMaximizedItem(): void;
restore(): void;
peek(): FocusableItem | null;
clear(): void;
}
export interface IFocusRestoreStrategy {
RestoreFocus(item: FocusableItem): void;
}
export declare class ElementFocusStrategy implements IFocusRestoreStrategy {
RestoreFocus(item: FocusableItem): void;
private deferFocus;
}
export declare const focusManager: FocusManager;