import React from 'react';
import { RuleTier, RuleDefinition, RuleVariant, OverrideHistoryResponse } from '../types';
/**
 * Props for the RuleTierList component.
 * Library-ready: fully controlled via props, no store access.
 */
interface RuleTierListProps {
    /** Array of rule tiers to display */
    tiers: RuleTier[];
    /** Callback when a tier's expansion state is toggled */
    onToggleTier: (tierId: string) => void;
    /** Callback when a rule should be deleted */
    onDeleteRule: (ruleId: string) => void;
    /** Whether the current rule set is global scope (affects child behavior) */
    isGlobalScope?: boolean;
    /**
     * Optional handler to fetch override history for a rule/variant.
     * Parent component should implement API call logic.
     */
    onFetchOverrideHistory?: (ruleId: string, variantId?: string) => Promise<OverrideHistoryResponse | null>;
    /** Callback when Edit button is clicked for a rule (legacy) */
    onEditRule?: (rule: RuleDefinition, tierName?: string) => void;
    /** Callback when Edit button is clicked for a variant */
    onEditVariant?: (variant: RuleVariant, ruleId: string, tierName?: string, action?: 'edit' | 'resolve_gaps') => void;
    /** Callback when Delete button is clicked for a variant */
    onDeleteVariant?: (variantId: string, ruleId: string) => void;
    /** Map of highlighted variant IDs to their action type */
    highlightedVariants?: Map<string, 'new' | 'existing'>;
    /** Display names of all tiers that have highlighted variants (for cross-tier banner) */
    highlightedTierNames?: string[];
    /** func for fetch rules for enable/disable Btn */
    onToggleSuccess: () => void;
    /** func for reordering rules by dragging */
    onReorderRules?: (scopeId: string, tierId: string, movedRuleId: string, prevRuleId: string | null, nextRuleId: string | null) => void;
    /** Id of rule set i.e, scope */
    ruleSetId?: string;
    onRefreshRuleSets?: (showLoader?: boolean, scopeId?: string) => void;
    setDeleteConfirmationUsedFor?: (value: 'ruleDeletion' | 'variantDeletion') => void;
    onCopyToTier?: (variant: RuleVariant, ruleId: string, ruleTitle: string, sourceTier: string, targetTier: string) => void;
}
/**
 * Component to list all the rule tiers for the selected rule set.
 * Library-ready: fully controlled via props, no store access.
 * Renders TierCards for each tier.
 *
 * @param props - Component props
 * @returns JSX element displaying the list of tier cards
 */
declare const RuleTierList: React.FC<RuleTierListProps>;
export default RuleTierList;
//# sourceMappingURL=RuleTierList.d.ts.map