///
import { ComponentClass, ReactNode } from 'react';
import { PassTroughFunction } from '../../utils/getPassThrough';
export declare type OriginTopLeft = 'topLeft';
export declare type OriginTopRight = 'topRight';
export declare type OriginBottomLeft = 'bottomLeft';
export declare type OriginBottomRight = 'bottomRight';
export declare type Origin = OriginTopLeft | OriginTopRight | OriginBottomLeft | OriginBottomRight;
export declare const ORIGINS: {
BOTTOM_LEFT: "bottomLeft";
BOTTOM_RIGHT: "bottomRight";
TOP_LEFT: "topLeft";
TOP_RIGHT: "topRight";
};
export interface ClippingBoxProps {
active: boolean;
children: ReactNode;
className?: string;
innerRef(instance: HTMLElement): void;
origin: Origin;
}
export interface InnerNodeProps {
active: boolean;
height?: number;
innerRef(instance: HTMLElement): void;
origin: Origin;
width?: number;
}
export interface WrapperNodeProps {
active: boolean;
className?: string;
height?: number;
innerRef(instance: HTMLElement): void;
width?: number;
}
export interface OutlineNodeProps {
active: boolean;
height?: number;
origin: Origin;
width?: number;
}
export interface ClippingBoxState {
active: boolean;
height?: number;
width?: number;
}
export interface ClippingBoxFactoryArgs {
InnerNode: ComponentClass;
OutlineNode: ComponentClass;
WrapperNode: ComponentClass;
passthrough: PassTroughFunction;
}
export default function clippingBoxFactory({InnerNode, OutlineNode, WrapperNode, passthrough}: ClippingBoxFactoryArgs): ComponentClass;