/**
 * Game Iframe SDK - Message Sender
 * Gửi message đến iframe
 */
import { PushDataPayload, LeaderboardData } from './types';
export interface MessageSenderConfig {
    /**
     * Target origin for postMessage
     */
    targetOrigin: string;
    /**
     * Enable debug logging
     */
    debug?: boolean;
}
export interface SendResult {
    success: boolean;
    error?: Error;
}
/**
 * MessageSender - Gửi messages đến iframe
 */
export declare class MessageSender {
    private config;
    private iframe;
    constructor(config: MessageSenderConfig);
    /**
     * Set iframe element
     */
    setIframe(iframe: HTMLIFrameElement | null): this;
    /**
     * Get current iframe
     */
    getIframe(): HTMLIFrameElement | null;
    /**
     * Check if iframe is available
     */
    isReady(): boolean;
    /**
     * Send raw message to iframe
     */
    sendRaw(message: any): SendResult;
    /**
     * Send game data (SERVER_PUSH_DATA)
     */
    sendGameData(payload: PushDataPayload): SendResult;
    /**
     * Send leaderboard (SERVER_PUSH_LEADERBOARD)
     */
    sendLeaderboard(data: LeaderboardData): SendResult;
    /**
     * Reload iframe
     */
    reloadIframe(): boolean;
    /**
     * Debug log
     */
    private log;
}
//# sourceMappingURL=MessageSender.d.ts.map