import type { Logger } from 'generic-logger-typings'; import { StateMachineImpl, ListenerRegistration } from 'typescript-state-machine'; import { Response as HttpClientResponse, Request, InstalledFilter, Filter } from 'typescript-http-client'; import { DeviceMessage, Item } from 'ozone-type'; import { ClientState } from './clientState'; import { ItemClient } from '../itemClient/itemClient'; import { BlobClient } from '../blobClient/blobClient'; import { RoleClient } from '../roleClient/roleClient'; import { PermissionClient } from '../permissionClient/permissionClient'; import { TypeClient } from '../typeClient/typeClient'; import { OzoneClient, OzoneCredentials, AuthInfo, ClientConfiguration, AuthenticatedPrincipal } from './ozoneClient'; import { TaskClient } from '../taskClient/taskClient'; import { ImportExportClient } from '../importExportClient/importExportClient'; import { FileTypeClient } from '../filetypeClient/filetypeClient'; import { OperationVariables, TypedDocumentNode } from '@apollo/client/core'; export interface OzoneClientInternals extends OzoneClient { setState(newState: ClientState): void; } export declare class OzoneClientImpl extends StateMachineImpl implements OzoneClientInternals { private readonly _config; private _authInfo?; private _ws?; private _lastFailedLogin?; private readonly _messageListeners; private _lastSessionCheck; private _httpClient; private acknowledgedCache; readonly preFilters: InstalledFilter[]; readonly postFilters: InstalledFilter[]; protected static log?: Logger; setLogger(logger: Logger): void; constructor(configuration: ClientConfiguration); get config(): ClientConfiguration; get authInfo(): AuthInfo | undefined; get lastFailedLogin(): HttpClientResponse | undefined; get isAuthenticated(): boolean; get isConnected(): boolean; onMessage(messageType: string, callBack: (message: M) => void): ListenerRegistration; onAnyMessage(callBack: (message: any) => void): ListenerRegistration; send(message: DeviceMessage): void; start(): Promise; updateWSURL(url: string): void; updateCredentials(credentials: OzoneCredentials): void; currentPrincipal(): Promise; stop(): Promise; call(call: Request): Promise; callForResponse(call: Request): Promise>; private onWsMessage; private acknowledgeMessage; private static parseMessage; private handlePong; private login; private logout; private static terminateWSConnectionForcefully; private destroyWs; connect(): Promise; private loginIfPossible; private connectIfPossible; private addMessageListener; private _lastReAuth; private _lastReAuthInterval; private _reAuthTimeout; private nextReAuthRetryInterval; private createAutoReAuthTimer; private clearAutoReAuthTimer; private clearAutoReAuthRetryTimestamps; private _wsKeepAliveTimer?; private _lastReceivedPong; private _lastSentPing; private installWSPingKeepAlive; private destroyWSPingKeepAlive; private wsKeepAlive; private _lastWSReconnect; private _lastWSReconnectInterval; private _wsReconnectTimeout; private nextWSRetryInterval; private createAutoReconnectWSTimer; private clearAutoReconnectWSTimer; private _clearWSRetryTimestampsTimeout; private scheduleClearAutoReconnectWSRetryTimestamps; private cancelClearAutoReconnectWSRetryTimestamps; private static invokeMessageListeners; private dispatchMessage; private setupTransitionListeners; private setupFilters; itemClient(typeIdentifier: string): ItemClient; blobClient(): BlobClient; private _roleClient; roleClient(): RoleClient; private _permissionClient; permissionClient(): PermissionClient; private _typeClient; typeClient(): TypeClient; private _taskClient; taskClient(): TaskClient; private _importExportClient; importExportClient(): ImportExportClient; private _filetypeClient; fileTypeClient(): FileTypeClient; private _graphQLClient; insertSessionIdInURL(url: string): string; addCustomFilter(filter: Filter, name: string): void; graphQLSearch(query: TypedDocumentNode, variables?: TVariables): Promise; private createGraphQLClient; }