import { KeyValuePair } from "@kwiz/common";
type optionType = KeyValuePair<string> | string;
export declare function OptionsEditor<ot extends optionType>(props: {
    /** set a default value for unmanaged control */
    defaultValue: optionType[];
    /** define the type for items in this collection */
    newItem: () => ot;
    onChange: (newValue: ot[]) => void;
}): JSX.Element;
export declare function OptionsEditor<ot extends optionType>(props: {
    /** set a value for managed control */
    value: optionType[];
    /** define the type for items in this collection */
    newItem: () => ot;
    onChange: (newValue: ot[]) => void;
}): JSX.Element;
export declare function OptionsEditorInDialog<ot extends optionType>(props: {
    value?: ot[];
    newItem: () => ot;
    /** removes empty options (empty string or key) */
    onChange: (newValue: ot[]) => Promise<{
        success: boolean;
        error?: string;
    }>;
}): import("react/jsx-runtime").JSX.Element;
export {};
