import type { PropType, ExtractPropTypes } from 'vue'; import { BaseSchema } from 'yup'; import { MultiRowEditorRow, MultiRowEditorUnremovableRow, MultiRowEditorValidatorReturn } from '../multi-row-editor/props'; export interface KeyValueRow extends MultiRowEditorRow { 'key': string | number; 'value': string | number; } export interface KeyValueEditorUnremovableRow extends MultiRowEditorUnremovableRow { (row: KeyValueRow): boolean; } export declare const keyValueEditorProps: { modelValue: { type: PropType; default: () => never[]; }; keyPlaceholder: { type: StringConstructor; default: undefined; }; valuePlaceholder: { type: StringConstructor; default: undefined; }; keyValidator: { type: PropType | ((val?: unknown, row?: MultiRowEditorRow | undefined, column?: { id: string; label?: string | undefined; modelPath?: string | undefined; placeholder?: string | undefined; defaultValue?: unknown; unique?: boolean | undefined; required?: boolean | undefined; trim?: boolean | undefined; props?: object | undefined; colWidth?: string | undefined; tip?: string | undefined; validator?: any | undefined; } | undefined, t?: import("vue-i18n").ComposerTranslation<{}, "en-US", import("@intlify/core-base").RemoveIndexSignature<{ [x: string]: import("vue-i18n").LocaleMessageValue; }>, never, never, never> | undefined) => import("../multi-row-editor/props").MultiRowEditorColumnValidatorReturn | Promise)>; default: () => (val?: unknown, row?: MultiRowEditorRow | undefined, column?: { id: string; label?: string | undefined; modelPath?: string | undefined; placeholder?: string | undefined; defaultValue?: unknown; unique?: boolean | undefined; required?: boolean | undefined; trim?: boolean | undefined; props?: object | undefined; colWidth?: string | undefined; tip?: string | undefined; validator?: any | undefined; } | undefined, t?: import("vue-i18n").ComposerTranslation<{}, "en-US", import("@intlify/core-base").RemoveIndexSignature<{ [x: string]: import("vue-i18n").LocaleMessageValue; }>, never, never, never> | undefined) => import("../multi-row-editor/props").MultiRowEditorColumnValidatorReturn | Promise; }; valueValidator: { type: PropType | ((val?: unknown, row?: MultiRowEditorRow | undefined, column?: { id: string; label?: string | undefined; modelPath?: string | undefined; placeholder?: string | undefined; defaultValue?: unknown; unique?: boolean | undefined; required?: boolean | undefined; trim?: boolean | undefined; props?: object | undefined; colWidth?: string | undefined; tip?: string | undefined; validator?: any | undefined; } | undefined, t?: import("vue-i18n").ComposerTranslation<{}, "en-US", import("@intlify/core-base").RemoveIndexSignature<{ [x: string]: import("vue-i18n").LocaleMessageValue; }>, never, never, never> | undefined) => import("../multi-row-editor/props").MultiRowEditorColumnValidatorReturn | Promise)>; default: null; }; showLabel: { type: BooleanConstructor; default: boolean; }; addDisabled: { type: BooleanConstructor; default: undefined; }; addText: { type: StringConstructor; default: undefined; }; helper: { type: StringConstructor; default: undefined; }; min: { type: NumberConstructor; default: number; }; limit: { type: NumberConstructor; default: number; }; unremovableRow: { type: PropType; default: undefined; }; formWidth: { type: StringConstructor; default: undefined; }; editable: { type: BooleanConstructor; default: boolean; }; sortable: { type: BooleanConstructor; default: boolean; }; numbered: { type: BooleanConstructor; default: boolean; }; }; export type KeyValueEditorProps = ExtractPropTypes; export declare const keyValueEditorEmits: { 'update:modelValue': (rows: KeyValueRow[]) => void; change: (rows: KeyValueRow[]) => void; add: (row: KeyValueRow, rows: KeyValueRow[]) => void; remove: (row: KeyValueRow, rows: KeyValueRow[]) => void; exceed: (row: KeyValueRow, rows: KeyValueRow[]) => void; valid: (res: MultiRowEditorValidatorReturn) => void; }; export type KeyValueEditorEmits = typeof keyValueEditorEmits;