import type { ExtractPropTypes } from 'vue';
import { type FormColumn } from 'll-plus/es/components';
import type KeyValue from '../key-value.vue';
export interface IKeyType {
    label: string;
    value: string;
    option: FormColumn;
}
export interface IKeyValueReturn {
    key: any | null;
    value: any | null;
}
export type IKeyValueItem = IKeyValueReturn & {
    guid: string;
};
type IKeyValueType = 'single' | 'doubt';
export declare const getKeyValueItem: () => IKeyValueItem;
export declare const keyValueProps: {
    readonly value: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<IKeyValueReturn[]>, unknown, unknown, () => IKeyValueReturn[], boolean>;
    readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly keyLabel: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    readonly valueLabel: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    readonly addText: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "添加", boolean>;
    readonly keyValueType: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<IKeyValueType>, unknown, unknown, "doubt", boolean>;
    readonly keyType: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<any>, unknown, unknown, () => FormColumn, boolean>;
    readonly keyTypes: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<IKeyType[]>, unknown, unknown, () => IKeyType[], boolean>;
    readonly valueType: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<any>, unknown, unknown, () => FormColumn, boolean>;
    readonly disabledValue: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<number[]>, unknown, unknown, () => number[], boolean>;
    readonly disabledKey: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<number[]>, unknown, unknown, () => number[], boolean>;
    readonly disabledDelete: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<number[]>, unknown, unknown, () => number[], boolean>;
    readonly disabledAdd: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly validate: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly keepLast: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
};
export interface IKeyValueAddEmits {
    index: number;
    item: IKeyValueItem;
    value: IKeyValueItem[];
}
export declare const keyValueEmits: {
    change: (value: IKeyValueReturn[]) => boolean;
    add: (params: IKeyValueAddEmits) => boolean;
    delete: (index: number) => boolean;
    'update:value': (value: IKeyValueReturn[]) => boolean;
};
export type KeyValueProps = ExtractPropTypes<typeof keyValueProps>;
export type KeyValueEmits = typeof keyValueEmits;
export type KeyValueInstance = InstanceType<typeof KeyValue>;
export {};
