UNPKG

@quartal/bridge-client

Version:

Universal client library for embedding applications with URL-configurable transport support (iframe, postMessage) and framework adapters for Angular and Vue

67 lines 2.58 kB
import { ParentClient, ParentCallbacks } from '../parent/parent-client'; import { ChildClient, ChildCallbacks } from '../child/child-client'; import { ParentClientConfig, ChildClientConfig, RouterAdapter, UserServiceAdapter, QuartalUser } from '../types'; export declare class VueRouterAdapter implements RouterAdapter { private router; constructor(router: any); navigate(route: string[] | string): Promise<boolean> | void; getCurrentUrl(): string; onUrlChange(callback: (url: string) => void): () => void; } export declare class VueUserServiceAdapter implements UserServiceAdapter { private userService; constructor(userService: any); getCurrentUser(): QuartalUser | null; onUserChange(callback: (user: QuartalUser | null) => void): () => void; } export declare class QuartalVueAdapter { private parentClient?; private childClient?; private router?; private userService?; private routerAdapter?; private userServiceAdapter?; private logger; constructor(router?: any, userService?: any, _storageService?: any); /** * Create parent client for Vue */ createParentClient(config: ParentClientConfig, callbacks?: ParentCallbacks): ParentClient; /** * Create child client for Vue with URL-based transport configuration */ createChildClient(config: ChildClientConfig, callbacks?: ChildCallbacks): ChildClient; /** * Create child client with explicit transport configuration (bypasses URL parsing) */ createChildClientWithTransport(config: ChildClientConfig, callbacks?: ChildCallbacks, transportType?: 'iframe' | 'postmessage', transportConfig?: any): ChildClient; /** * Internal method to create child client with transport (shared logic) */ private createChildClientInternal; /** * Get existing parent client */ getParentClient(): ParentClient | undefined; /** * Get existing child client */ getChildClient(): ChildClient | undefined; /** * Destroy clients and clean up */ destroy(): Promise<void>; } export interface QuartalVuePluginOptions { router?: any; userService?: any; storageService?: any; } export declare const QuartalVuePlugin: { install(app: any, options?: QuartalVuePluginOptions): void; }; export declare function useQuartal(): { createParentClient: (config: ParentClientConfig, _callbacks?: ParentCallbacks) => null; createChildClient: (config: ChildClientConfig, _callbacks?: ChildCallbacks) => null; }; //# sourceMappingURL=vue-adapter.d.ts.map