type RenderPopoverOpts<T> = {
    item?: T;
    index?: number;
    onClose: () => void;
};
export type ClauseStepProps<T> = {
    color: string;
    items: T[];
    initialAddText?: string;
    readOnly?: boolean;
    isLastOpened?: boolean;
    hasAddButton?: boolean;
    isAddButtonDisabled?: boolean;
    hasRemoveButton?: boolean;
    renderName: (item: T, index: number) => JSX.Element | string;
    renderPopover: (opts: RenderPopoverOpts<T>) => JSX.Element | null;
    onRemove: (item: T, index: number) => void;
    onReorder: (sourceItem: T, targetItem: T) => void;
    "data-testid"?: string;
};
export declare const ClauseStep: <T>({ color, items, initialAddText, readOnly, isLastOpened, hasAddButton, isAddButtonDisabled, hasRemoveButton, renderName, renderPopover, onRemove, onReorder, ...props }: ClauseStepProps<T>) => JSX.Element;
export {};
