import { ReactNode } from 'react'; interface ArrayEntryManagerProps { title: ReactNode; items: T[]; onChange: (items: T[]) => void; fieldKey: keyof T; placeholder: string; emptyMessage: string; addButtonText: string; saveButtonText?: string; icon?: ReactNode; className?: string; requireSave?: boolean; onDirtyChange?: (isDirty: boolean) => void; renderLabel?: (item: T, index: number) => ReactNode; /** * An optional SECOND field on each entry, edited above the main one — a * human name for the thing the main field addresses. * * Design docs need it because a link's own title is the only name available: * claude.ai serves the same `og:title` ("Claude Artifact") for every artifact * and its per-artifact metadata endpoint is unreachable server-side, so an * unnamed link can only ever render as its type. Omitted by every other * caller, which keeps their single-field row exactly as it was. */ titleFieldKey?: keyof T; titlePlaceholder?: string; isSaving?: boolean; } export declare function ArrayEntryManager({ title, items, onChange, fieldKey, placeholder, emptyMessage, addButtonText, saveButtonText, icon, className, requireSave, onDirtyChange, renderLabel, titleFieldKey, titlePlaceholder, isSaving }: ArrayEntryManagerProps): import("react").JSX.Element; export {}; //# sourceMappingURL=array-entry-manager.d.ts.map