import { EditorConfig, Template, IFrameMessage } from '@wet-silly-gooch/types'; declare class EmailEditor { private iframe; private messageHandlers; private unreadMessages; private config; private messageListenerBound; constructor(config: EditorConfig, design?: Template | null); private init; updateDesign(design: Template): void; private handleMessage; private purgeUnreadMessages; removeHandler(type: string, fn: Function): void; registerHandler(type: string, handler: { function: Function; type: "LONG_LIVED" | "SHORT_LIVED"; }): void; mount(container: HTMLElement): void; unmount(): void; onEditorReady(callback: () => void): void; onDesignUpdate(callback: (data: IFrameMessage["data"]) => void): void; onDesignLoad(callback: () => void): void; exportHtml(): Promise; exportJson(): Promise; private securePostMessage; } export { EmailEditor };