///
import { ComponentClass, MouseEvent, ReactNode } from 'react';
import { PassTroughFunction } from '../../utils/getPassThrough';
import { PortalType } from '../Portal';
export interface ContainerNodeProps {
active: boolean;
className?: string;
}
export interface BackdropNodeProps {
active: boolean;
onClick(event: MouseEvent): any;
}
export interface OverlayFactoryArgs {
Portal: PortalType;
ContainerNode: ComponentClass;
BackdropNode: ComponentClass;
passthrough: PassTroughFunction;
}
export interface OverlayProps {
active: boolean;
children: ReactNode;
className?: string;
container?: HTMLElement | (() => HTMLElement);
onClick(event: MouseEvent): any;
onPortalMount?(): void;
onPortalUnmount?(): void;
parentId?: string;
}
export default function overlayFactory({BackdropNode, ContainerNode, Portal, passthrough}: OverlayFactoryArgs): ComponentClass;