import React from "react";
import type { Field, FullItem } from "../../pageModel";
export type FieldGroupDefinition = {
    title: string;
    description: string;
    icon: React.ReactNode;
    /** Each entry is a list of aliases matched against field name or display name */
    fieldNames: string[][];
};
export declare function findFieldInItem(item: FullItem, aliases: string[]): Field | undefined;
export type GroupedFieldConfigPanelProps = {
    itemId: string;
    title?: string;
    onClose?: () => void;
    actions?: React.ReactNode;
    supplementalContent?: React.ReactNode;
    refreshToken?: number;
    fieldGroups: FieldGroupDefinition[];
    /** Icon shown in the header badge */
    headerIcon: React.ReactNode;
    /** Optional line shown under the title (e.g. the item ID with a copy button) */
    headerSubline?: React.ReactNode;
    /** Heading in the error state */
    loadErrorTitle?: string;
    /** When no field groups resolve */
    emptyMessage?: string;
    /** Title when item name is not yet available */
    fallbackTitle?: string;
    /** Optional footer; default mentions full editor */
    footerHint?: React.ReactNode;
    /** Text before the “full editor” link in the default footer */
    footerLeadingText?: string;
    showFullEditorButton?: boolean;
};
export declare function GroupedFieldConfigPanel({ itemId, title, onClose, actions, supplementalContent, refreshToken, fieldGroups, headerIcon, headerSubline, loadErrorTitle, emptyMessage, fallbackTitle, footerHint, footerLeadingText, showFullEditorButton, }: GroupedFieldConfigPanelProps): import("react/jsx-runtime").JSX.Element;
export default GroupedFieldConfigPanel;
