import { BoxModel } from '@makeswift/controls';
import { BoxModelHandle } from '../../state/modules/box-models';
import { Descriptor } from '../../prop-controllers/descriptors';
import { DescriptorsPropControllers } from '../../prop-controllers/instances';
import { PropControllersHandle } from '../../state/modules/prop-controller-handles';
export declare class ElementImperativeHandle<T extends Record<string, Descriptor> = Record<string, Descriptor>> implements BoxModelHandle, PropControllersHandle<T> {
    private getCurrent;
    private lastPropControllers;
    callback(getCurrent: () => unknown): void;
    getBoxModel(): BoxModel | null;
    setPropControllers(propControllers: DescriptorsPropControllers<T> | null): void;
    getDomNode(): Element | null;
}
type DomNodeHandle = {
    getDomNode(): Element | null;
};
export declare function isDomNodeHandle(value: unknown): value is DomNodeHandle;
export {};
//# sourceMappingURL=element-imperative-handle.d.ts.map