import { Filters } from 'src/models';
/**
* Utilities for helping your app interact with the Domo environment.
*
* ## Basic Usage
*
* ```
* import { DomoClient } from @domoinc/toolkit;
*
* // call client static methods
* domo.getUserId();
* ```
*/
export declare class DomoClient {
private static env;
/**
* Domo Apps behave like standard cards in the fact that they'll automatically reload each time
* the underlying datasets are updated. Depending on the app, this could have a negative impact
* on the user experience of your app.
*
* This function allows you to listen for the data update events and control how your app behaves
* when the dataSets are updated.
*
* ## Basic Usage
*
* ```typescript
* import { DomoClient as domo } from @domoinc/toolkit;
* import Query from @domoinc/query;
*
* domo.onDataUpdate((alias) => {
* console.info(`${alias} just updated`, new Date().getTime());
*
* // now get the latest data and handle as you'd like
* (new Query()).get(alias).then((data) => {
*
* // do something with the data
* console.table(data); *
* });
* });
* ```
*/
static onDataUpdate(cb: Function): () => void;
static onFiltersUpdate(cb: Function): void;
/**
* Domo Apps have sandbox restrictions preventing the app from opening a new browser tab when
* following links. As such, standard links will not work as expected inside Domo Apps.
*
* ```
* Will Not Work
* ```
*
* If you're wanting to control the main browser you'll need to use this `navigate` function.
*
* ## Basic Usage
*
* ```html
*
*
*
*
* ```
*/
static navigate(url: string, isNewWindow?: boolean): void;
static getAppId(): string;
static getUserId(): string | undefined;
static getUserEmail(): string | undefined;
static getUserName(): string | undefined;
static getUserPlatform(): string | undefined;
static getCustomerName(): string | undefined;
static getCustomerEnvironment(): string | undefined;
static getCustomerLocale(): string | undefined;
static getPageFilters: () => Filters[];
static writePageFilters: (filters: Filters[]) => void;
private static getHostName;
private static isVerifiedOrigin;
private static wrapDataUpdateCallback;
}