/** * @param topic * @param payload * @param origin * @param target */ export declare function postMessage(topic: string, payload?: any, origin?: string, target?: Window): void; /** * @param topic * @param callback * @returns {(event:{data: {topic: any, payload: any}})=>undefined} */ export declare function addCrossDomainEventListener(topic: string, callback: Function): Function; /** * @param listener */ export declare function removeCrossDomainEventListener(listener: Function): void; export declare class Channel { private origin; private target; protected debug: boolean; protected debugListenres: Function[]; /** * @param origin * @param target * @param debug */ constructor(origin: string, target?: Window, debug?: boolean); /** * @param topic * @param callback * @returns {Function} */ subscribe(topic: string, callback: Function): Function; /** * @param listener */ unsuscribe(listener: Function): void; /** * @param topic * @param payload */ send(topic: string, payload?: any): void; }