import { calc } from './calc'; import { card } from '././card'; import { communication } from './communication'; import { document } from './document'; import { lawconnect } from './lawconnect'; import { matter } from './matter'; import { msteams } from './msteams'; import { system } from './system'; import { app } from './app'; import { infotrack } from './infotrack'; import { accounting } from './accounting'; import { person } from './person'; import { register } from './register'; import { schema } from './schema'; import { staff } from './staff'; export interface ExtraProperty { xmlData?: string; tableId?: string; tableOrder?: number; } export interface BaseRequest { appSessionId?: string; extra?: ExtraProperty; close?: boolean; } export interface MatterBasedRequest extends BaseRequest { matterId: string; } export interface HostResponse { isSuccess: boolean; error: string; data: any; } export declare type MatterContext = { matterId: string; [key: string]: any; }; export declare type RecurringMatterContext = { recurringMatterId: string; [key: string]: any; }; export declare type CardContext = { cardId: string; [key: string]: any; }; export declare type PersonContext = { personId: string; [key: string]: any; }; export declare type RefreshTokenResponse = { refreshToken: string; codeVerifier: string; }; export interface RequestContext { appSessionId: string; host: string; env: string; region: string; trustedApp?: boolean; newTab?: boolean; } export declare class LeapContext { readonly context: MatterContext | RecurringMatterContext | CardContext | PersonContext; readonly hostInfo: HostInfo; readonly firmId: string; readonly userId: string; constructor(context: MatterContext | RecurringMatterContext | CardContext | PersonContext, hostInfo: HostInfo, firmId: string, userId: string); } export interface Accessibility { fontScale: number; readingGuide: boolean; font: string; theme: string; reducedMotion: boolean; colorAssistiveMode: string; highContrastMode: boolean; } export declare class HostInfo { readonly appSessionId: string; readonly hostType: string; readonly hostVersion: string; readonly env: string; readonly region: string; readonly locale: string; readonly accessibility?: Accessibility; constructor(appSessionId: string, hostType: string, hostVersion: string, env: string, region: string, locale: string, accessibility?: Accessibility); } export interface Api { accounting: accounting.Api; app: app.Api; calc: calc.Api; communication: communication.Api; document: document.Api; infotrack: infotrack.Api; lawconnect: lawconnect.Api; matter: matter.Api; msteams: msteams.Api; person: person.Api; register: register.Api; schema: schema.Api; system: system.Api; card: card.Api; staff: staff.Api; leapContext: LeapContext; returnRejectOnPermissionCancel: boolean; init(leapAuthClientId?: string): Promise; getRefreshedAccessToken(): Promise; getDecodedRefreshedAccessToken(): Promise; getRefreshToken(): Promise; registerHostMessageHandler(command: string, callback?: (param?: any) => void): void; deregisterHostMessageHandler(command: string): void; /** * Subscribe to the context change. This will update the local SDK context automatically * @param onSuccess callback function to be called when context update is successful * @param onError callback function to be called when context update fails */ subscribeContextUpdate(onSuccess?: (leapContext: any) => void, onError?: (error: any) => void): void; /** * Unsubscribe from the context change */ unsubscribeContextUpdate(): void; }