export declare enum StorageDataIntent {
    WIDGET_SESSION = "widget-session"
}
export interface StorageDispatcherPayload<T = unknown> {
    source?: string;
    destination?: string;
    intent: StorageDataIntent;
    data: T;
}
interface StorageDispatcherPushCallbacks {
    onSuccess?: () => any;
    onError?: () => any;
}
export declare class StorageDispatcher {
    messageSource: string;
    private env;
    private dispatcherFrame?;
    private onLoadCallback?;
    private pushCallbacks?;
    private iframeEvent;
    private widgetId?;
    private defaultPayload;
    constructor(messageSource: string);
    create(onLoadCallback?: () => any): HTMLIFrameElement;
    destroy(): void;
    push<T>(payload: StorageDispatcherPayload<T>, pushCallbacks?: StorageDispatcherPushCallbacks): void;
    setEnv(env: string, alias?: string): void;
    private setupIframeEventListeners;
}
export {};
//# sourceMappingURL=storage-dispatcher.d.ts.map