import React from 'react';
import { ComponentData } from '@layoutbase/core';
export declare type DataComponentProps = {
    id: string;
    _update: (fn: (props: ComponentData['props']) => ComponentData['props'], pushToHistory?: boolean) => void;
    _debounceUpdate: (fn: (props: ComponentData['props']) => ComponentData['props'], pushToHistory?: boolean) => void;
    _path: number[];
    _children: ComponentData[];
    className?: string;
};
export declare type GetEditComponentProps<P> = P & DataComponentProps & {
    updateToolbarPosition?: () => void;
};
export declare type GetViewComponentProps<P> = P & Omit<DataComponentProps, '_update' | '_debounceUpdate'>;
export declare type GetEditComponentType<P> = React.ForwardRefExoticComponent<GetEditComponentProps<P> & React.RefAttributes<any>> & {
    Setting?: React.FC<GetEditComponentProps<P>>;
};
export declare type GetViewComponentType<P> = React.ForwardRefExoticComponent<GetViewComponentProps<P> & React.RefAttributes<any>>;
