import type { ChattyHost, ChattyHostBuilder } from '@looker/chatty'; import type { IEmbedClient, ILookerConnection, IConnectOptions, DashboardTileMergeEvent } from './types'; import type { EmbedBuilderEx } from './EmbedBuilderEx'; import type { LookerEmbedExSDK } from './LookerEmbedExSDK'; import { EmbedConnection } from './EmbedConnection'; export declare class EmbedClientEx implements IEmbedClient { private _sdk; private _builder; _hostBuilder?: ChattyHostBuilder; _host?: ChattyHost; _connectionPromise?: Promise; _connection?: EmbedConnection; _client?: EmbedConnection; _pageChangeResolver?: (value: EmbedConnection | PromiseLike) => void; _lookerVersion?: number; _lookerMajorVersion: number; _lookerMinorVersion: number; _cookielessInitialized: boolean; _cookielessSessionExpired: boolean; _hasSessionExpired: boolean; /** * @hidden */ constructor(_sdk: LookerEmbedExSDK, _builder: EmbedBuilderEx); /** * Returns a promise that resolves to a client that can be used to send messages to the * embedded content. */ get connection(): EmbedConnection | undefined; /** * Indicates whether two way communication has successfully been established with the embedded content. */ get isConnected(): boolean; /** * Target origin for messages */ get targetOrigin(): string; /** * Indicates in the page:load event is supported by the version of Looker being embedded */ get isPageLoadEventSupported(): boolean; /** * Establish two way communication with embedded content. Returns a promise that resolves to a * client that can be used to send messages to the embedded content. */ connect(options?: IConnectOptions): Promise; appendRequiredParameters(urlString: string): string; private connectInternal; private prependApiHost; private updateEditing; private abortableCreateIframe; private createIframe; private sendScrollData; private addIframeMonitor; private abortableCreateSignedUrl; private createSignedUrl; private acquireCookielessEmbedSession; private abortableAcquireCookielessEmbedSessionInternal; private acquireCookielessEmbedSessionInternal; private getCookielessEmbedUrl; private acquireSession; private generateTokens; private getResource; private identifyPageType; private parseLookerVersion; mergedQueryEditFlow(event: DashboardTileMergeEvent): { cancel: boolean; }; }