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; }