declare type IframesMessageType = "spaces" | "workspaces" | "hello-from-spaces-bar" | "hello-from-space-panel" | "hello-from-sign-in" | "is-signed-in" | "streamed-hosts-data" | "has-focus" | "iframe-focus-change" | "synced-private-registry" | "set-is-logout-dropdown-opened";
interface IframesMessage<T = unknown> {
    type: IframesMessageType;
    payload: T;
}
export declare const sendToChildIframe: (htmlIframeElement: HTMLIFrameElement, message: IframesMessage<unknown>) => void;
export declare const useListenToPostMessage: <T>(messageType: IframesMessageType, callback?: (newMessage: T) => void, defaultState?: T | (() => T)) => [T, () => void];
export {};
