@pkme/widget-bridge
Version:
TypeScript React bridge client for Secret City Games widget integration across Framer, Figma, and web platforms
45 lines (39 loc) • 2.09 kB
TypeScript
/**
* @pkme/widget-bridge/react - React Hooks TypeScript Definitions
*/
import type { BridgeInstance, BridgeContext } from './index';
export interface UseBridgeReturn {
bridge: BridgeInstance | null;
isReady: boolean;
context: BridgeContext | null;
environment: 'expo' | 'iframe' | 'standalone';
}
export interface UseBridgeDataReturn<TGlobal = any, TItem = any> {
globalData: TGlobal | null;
itemData: TItem | null;
setGlobal: (data: TGlobal) => Promise<void>;
setItem: (data: TItem) => Promise<void>;
navigate: (to: string, params?: Record<string, any>, method?: 'push' | 'replace') => Promise<void>;
back: (steps?: number) => Promise<void>;
complete: (data?: Record<string, any>) => Promise<void>;
isReady: boolean;
context: BridgeContext | null;
environment: 'expo' | 'iframe' | 'standalone';
}
export type UseGlobalDataReturn<T = any> = [T | null, (data: T) => Promise<void>];
export type UseItemDataReturn<T = any> = [T | null, (data: T) => Promise<void>];
export declare function useBridge(): UseBridgeReturn;
export declare function useBridgeData<TGlobal = any, TItem = any>(): UseBridgeDataReturn<TGlobal, TItem>;
export declare function useGlobalData<T = any>(initialData?: T): UseGlobalDataReturn<T>;
export declare function useItemData<T = any>(initialData?: T): UseItemDataReturn<T>;
export declare function useNavigation(): {
navigate: (to: string, params?: Record<string, any>, method?: 'push' | 'replace') => Promise<void>;
back: (steps?: number) => Promise<void>;
complete: (data?: Record<string, any>) => Promise<void>;
isReady: boolean;
};
export declare function navigateToNextCard(params?: Record<string, any>): Promise<void>;
export declare function completeCard(completionData?: Record<string, any>): Promise<void>;
export declare function navigateToCard(cardId: string, cardData?: Record<string, any>): Promise<void>;
export declare function savePuzzleProgress(progress: number, additionalData?: Record<string, any>): Promise<void>;
export declare function updateGlobalGameState(updates: Record<string, any>): Promise<void>;