import type React from "react";
import { type ButtonProps } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/ui";
type DefaultRenderInputProps = {
    value: MappingValue;
    onChange: (val: string) => void;
    placeholder: string;
    error?: boolean | string;
};
type MappingValue = string;
type MappingType = Record<string, MappingValue>;
export interface MappingEditorProps {
    value: MappingType;
    onChange: (val: MappingType) => void;
    onError?: (val: boolean) => void;
    className?: string;
    style?: React.CSSProperties;
    keyHeader?: JSX.Element;
    valueHeader?: JSX.Element;
    keyPlaceholder?: string;
    valuePlaceholder?: string;
    renderKeyInput?: (input: DefaultRenderInputProps) => JSX.Element;
    renderValueInput?: (input: DefaultRenderInputProps) => React.ReactNode;
    divider?: JSX.Element;
    canAdd?: boolean;
    canDelete?: boolean;
    addText?: string;
    addButtonProps?: ButtonProps;
    swapKeyAndValue?: boolean;
}
export declare const MappingEditor: ({ value: mapping, onChange, onError, className, style, keyHeader, valueHeader, keyPlaceholder, valuePlaceholder, renderKeyInput, renderValueInput, divider, canAdd, canDelete, addText, addButtonProps, swapKeyAndValue, }: MappingEditorProps) => import("react/jsx-runtime").JSX.Element;
export {};
