/** * Game Iframe SDK - Core * SDK chính - compose các layers: MessageHandler, MessageSender */ import { EventEmitter } from './EventEmitter'; import { MessageHandler } from './MessageHandler'; import { MessageSender } from './MessageSender'; import { GameIframeSDKConfig, SDKEvents, PushDataPayload, LeaderboardData } from './types'; /** * GameIframeSDK - Main SDK class * Composes MessageHandler và MessageSender */ export declare class GameIframeSDK extends EventEmitter { private config; private messageHandler; private messageSender; private pendingData; private isReady; constructor(config: GameIframeSDKConfig); /** * Set iframe element reference */ setIframe(iframe: HTMLIFrameElement | null): this; /** * Get current iframe */ getIframe(): HTMLIFrameElement | null; /** * Check if game is ready */ isGameReady(): boolean; /** * Check if sender is ready (iframe available) */ isSenderReady(): boolean; /** * Send game data to iframe */ sendGameData(data: PushDataPayload): boolean; /** * Send leaderboard data to iframe */ sendLeaderboard(data: LeaderboardData): boolean; /** * Queue data to be sent when game is ready */ queueGameData(data: PushDataPayload): this; /** * Clear queued data */ clearQueuedData(): this; /** * Force reload iframe */ reloadIframe(): boolean; /** * Cleanup and destroy SDK */ destroy(): void; /** * Get MessageHandler instance for advanced usage */ getMessageHandler(): MessageHandler; /** * Get MessageSender instance for advanced usage */ getMessageSender(): MessageSender; /** * Setup event forwarding from MessageHandler to SDK events */ private setupEventForwarding; /** * Send queued data */ private sendQueuedData; /** * Internal logging */ private log; } /** * Create SDK instance */ export declare function createGameIframeSDK(config: GameIframeSDKConfig): GameIframeSDK; /** * Get or create default SDK instance */ export declare function getGameIframeSDK(config?: GameIframeSDKConfig): GameIframeSDK; /** * Destroy default instance */ export declare function destroyGameIframeSDK(): void; //# sourceMappingURL=GameIframeSDK.d.ts.map