import React, { ComponentType, ForwardedRef } from 'react';
type AttributeSelectorProps = {
    onRestoreFocus?: () => void;
    onOpen?: () => void;
    disablePopoverRestoreFocus?: boolean;
};
export type Props<T, U extends Record<string, unknown>> = {
    classes?: {
        root?: string;
        logicOperatorContainer?: string;
        attributeSelectorContainer?: string;
        filterSelectorContainer?: string;
        valuesEditorContainer?: string;
        actionsContainer?: string;
        rowActions?: string;
    };
    rowData: T;
    previousRowData: T;
    LogicOperatorComponent?: ComponentType<{
        rowContext: U;
        className?: string;
        rowData: T;
    }>;
    AttributeSelectorComponent: ComponentType<{
        rowContext: U;
        rowData: T;
        attributeSelectorProps?: AttributeSelectorProps;
    }>;
    FilterSelectorComponent: ComponentType<{
        rowContext: U;
        textFieldInputRef: ForwardedRef<HTMLInputElement>;
        rowData: T;
    }>;
    ValuesEditorComponent: ComponentType<{
        rowContext: U;
        rowData: T;
    }>;
    ActionsComponent: ComponentType<{
        rowContext: U;
        rowData: T;
    }>;
    filterSelectorRef: ForwardedRef<HTMLInputElement>;
    attributeSelectorProps?: AttributeSelectorProps;
};
declare const _default: React.MemoExoticComponent<(<T, U extends Record<string, unknown>>({ classes, rowData, previousRowData, LogicOperatorComponent, AttributeSelectorComponent, FilterSelectorComponent, ValuesEditorComponent, ActionsComponent, filterSelectorRef, attributeSelectorProps, ...rowContext }: Props<T, U>) => React.JSX.Element)>;
export default _default;
