/**
 * Copyright IBM Corp. 2024
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import React from 'react';
import PropTypes from 'prop-types';
import { Action, ConditionBuilderState, InitialState } from '../ConditionBuilder.types';
interface ConditionBuilderContentProps {
    startConditionLabel: string;
    getConditionState: (state: ConditionBuilderState) => void;
    getActionsState?: (state: Action[]) => void;
    initialState?: InitialState;
    actions?: Action[];
}
declare const ConditionBuilderContent: {
    ({ startConditionLabel, getConditionState, getActionsState, initialState, actions, }: ConditionBuilderContentProps): React.JSX.Element;
    propTypes: {
        /**
         * optional array of object that give the list of actions.
         */
        actions: PropTypes.Requireable<(PropTypes.InferProps<{
            id: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
            label: PropTypes.Validator<string>;
        }> | null | undefined)[]>;
        /**
         * callback functions that will provide the updated action state back.
         */
        getActionsState: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * This is a callback function that returns the updated state
         */
        getConditionState: PropTypes.Validator<(...args: any[]) => any>;
        /**
         * Optional prop if the condition building need to start from a predefined initial state
         */
        initialState: PropTypes.Requireable<PropTypes.InferProps<{
            state: PropTypes.Requireable<PropTypes.InferProps<{
                groups: PropTypes.Requireable<(PropTypes.InferProps<{
                    groupOperator: PropTypes.Requireable<string>;
                    statement: PropTypes.Requireable<string>;
                    conditions: PropTypes.Requireable<(object | null | undefined)[]>;
                }> | null | undefined)[]>;
                operator: PropTypes.Requireable<string>;
            }>>;
            enabledDefault: PropTypes.Requireable<boolean>;
        }>>;
        startConditionLabel: PropTypes.Validator<string>;
    };
};
export default ConditionBuilderContent;
//# sourceMappingURL=ConditionBuilderContent.d.ts.map