import { DeferredPromise } from "./deferred";
export interface WormholeConsumer {
    prototype?: any;
    connectedCallback?(): void;
    disconnectedCallback?(): void;
}
export declare type ForcedDestruction = () => void;
export interface WormholeOpening {
    consumer: WormholeConsumer;
    fields: string[];
    updater: (prop: any, value: any) => void;
    onOpen?: DeferredPromise<ForcedDestruction>;
}
export declare const openWormhole: (Component: WormholeConsumer, props: string[], isBlocking?: boolean) => void;
