@looker/extension-sdk
Version:
58 lines (57 loc) • 3.39 kB
TypeScript
import type { Options } from '@looker/chatty';
import type { VisualizationSDK } from './visualization';
import type { TileSDK } from './tile';
import { FetchProxyImpl } from './fetch_proxy';
import type { ApiVersion, ExtensionHostApi, ExtensionHostApiConfiguration, ExtensionInitializationResponse, ExtensionNotification, FetchCustomParameters, FetchResponseBodyType, LookerHostData } from './types';
export declare const EXTENSION_SDK_VERSION = "0.10.5";
export declare class ExtensionHostApiImpl implements ExtensionHostApi {
private _configuration;
private _lookerHostData?;
private chattyHost;
private setInitialRoute?;
private hostChangedRoute?;
private visualizationDataReceivedCallback?;
private tileHostDataChangedCallback?;
private _visualizationSDK?;
private _tileSDK?;
private contextData?;
constructor(configuration: ExtensionHostApiConfiguration);
get isDashboardMountSupported(): boolean;
get visualizationSDK(): VisualizationSDK;
get tileSDK(): TileSDK;
get lookerHostData(): Readonly<LookerHostData> | undefined;
handleNotification(message: ExtensionNotification): ExtensionInitializationResponse | undefined;
createSecretKeyTag(keyName: string): string;
verifyHostConnection(): Promise<any>;
invokeCoreSdk(httpMethod: string, path: string, params?: any, body?: any, authenticator?: any, options?: any, apiVersion?: ApiVersion): Promise<any>;
invokeCoreSdkRaw(httpMethod: string, path: string, params?: any, body?: any, apiVersion?: ApiVersion): Promise<any>;
updateTitle(title: string): void;
updateLocation(url: string, state?: any, target?: string): void;
spartanLogout(): void;
openBrowserWindow(url: string, target?: string): void;
closeHostPopovers(): void;
clientRouteChanged(route: string, routeState?: any): void;
localStorageSetItem(name: string, value?: string): Promise<boolean>;
localStorageGetItem(name: string): Promise<string | null>;
localStorageRemoveItem(name: string): Promise<boolean>;
clipboardWrite(value: string): Promise<void>;
userAttributeSetItem(name: string, value?: string): Promise<boolean>;
userAttributeGetItem(name: string): Promise<string | null>;
userAttributeResetItem(name: string): Promise<void>;
getContextData(): any;
saveContextData(context: any): Promise<any>;
refreshContextData(): Promise<any>;
track(name: string, trackAction: string, attributes?: Record<string, any>): void;
error(errorEvent: ErrorEvent): void;
unloaded(): void;
createFetchProxy(baseUrl?: string, init?: FetchCustomParameters, responseBodyType?: FetchResponseBodyType): FetchProxyImpl;
fetchProxy(resource: string, init?: FetchCustomParameters, responseBodyType?: FetchResponseBodyType): Promise<any>;
serverProxy(resource: string, init?: FetchCustomParameters, responseBodyType?: FetchResponseBodyType): Promise<any>;
oauth2Authenticate(authEndpoint: string, authParameters: Record<string, string>, httpMethod?: string): Promise<any>;
oauth2ExchangeCodeForToken(authEndpoint: string, authParameters: Record<string, string>): Promise<any>;
rendered(failureMessage?: string): void;
sendAndReceive(type: string, payload?: any, options?: Options): Promise<any>;
send(type: string, payload?: any): void;
private verifyLookerVersion;
private validateAuthParameters;
}