Files
sentence1/G102-sequence/sdk/package/dist/GameIframeSDK.d.ts
lubukhu 65fd0158a3
All checks were successful
Deploy to Production / deploy (push) Successful in 8s
up
2026-01-24 13:35:11 +07:00

93 lines
2.3 KiB
TypeScript

/**
* 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<SDKEvents> {
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