import type { MountRenderer as AbstractMountRenderer, MountRendererProps, RSTNode } from 'enzyme';
import type { VNode } from 'preact';
import type { PreactAdapterOptions } from './Adapter.js';
export declare type EventDetails = {
    [prop: string]: any;
};
export interface Options extends MountRendererProps, PreactAdapterOptions {
    /**
     * The container element to render into.
     * If not specified, a detached element (not connected to the body) is used.
     */
    container?: HTMLElement;
}
export default class MountRenderer implements AbstractMountRenderer {
    private _container;
    private _getNode;
    private _options;
    constructor(options?: Options);
    render(el: VNode, context?: any, callback?: () => any): void;
    unmount(): void;
    getNode(): RSTNode | null;
    simulateError(nodeHierarchy: RSTNode[], rootNode: RSTNode, error: any): void;
    simulateEvent(node: RSTNode, eventName: string, args?: EventDetails): void;
    batchedUpdates(fn: () => any): void;
    container(): HTMLElement;
    wrapInvoke(callback: () => any): undefined;
    getWrappingComponentRenderer(): this;
}
