import { default as WeavyEvents } from './events';
type WeavyPostalConfigType = {
    timeout?: number;
};
type WeavyIdType = string | true;
type WeavyPostMessageType = object & {
    name?: string;
    distributeName?: string;
    weavyId?: WeavyIdType;
    weavyMessageId?: string;
    windowName?: string;
};
export declare class WeavyPostalParent extends WeavyEvents {
    private contentWindows;
    private contentWindowsMapByWeavyId;
    private contentWindowOrigins;
    private contentWindowNames;
    private contentWindowWeavyIds;
    private contentWindowDomain;
    private origin;
    timeout: number;
    /**
     * The weavy console logging.
     */
    get console(): Console;
    constructor(options?: WeavyPostalConfigType);
    private distributeMessage;
    /**
     * Sends the id of a frame to the frame content scripts, so that the frame gets aware of which id it has.
     * The frame needs to have a unique name attribute.
     *
     * @category panels
     * @param {string} weavyId - The id of the group or entity which the contentWindow belongs to.
     * @param {Window} contentWindow - The frame window to send the data to.
     */
    registerContentWindow(contentWindow: WindowProxy, contentWindowName: string, weavyId: WeavyIdType, contentOrigin: string): void;
    unregisterAll(weavyId: WeavyIdType): void;
    unregisterContentWindow(windowName: string, weavyId: WeavyIdType): void;
    private whenPostMessage;
    postToChildren(message: WeavyPostMessageType, transfer?: Transferable[]): void;
    postToFrame(windowName: string, weavyId: WeavyIdType, message: WeavyPostMessageType, transfer?: Transferable[]): Promise<void>;
    postToSelf(message: WeavyPostMessageType, transfer?: Transferable[]): Promise<void>;
    postToSource(e: MessageEvent<WeavyPostMessageType>, message: WeavyPostMessageType, transfer?: Transferable[]): void;
}
export {};
//# sourceMappingURL=postal-parent.d.ts.map