import type { PropType } from 'vue';
import type { ISearchConfigProp } from './type';
export declare const searchProps: {
    config: {
        type: PropType<ISearchConfigProp>;
        default: () => {};
    };
    modelValue: (ObjectConstructor | ArrayConstructor)[];
    columns: PropType<import("..").IFormColumns>;
    menu: PropType<import("..").IFormMenuColumns>;
    array: BooleanConstructor;
    max: NumberConstructor;
    prefix: {
        type: StringConstructor;
        default: string;
    };
    indexes: {
        type: PropType<number[]>;
        default: undefined;
    };
    gutter: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    justify: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "center" | "space-around" | "space-between" | "space-evenly" | "end" | "start", unknown, "start", boolean>;
    align: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "middle", unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    size: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
    labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "left" | "right", unknown, "right", boolean>;
    rules: {
        readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    inlineMessage: BooleanConstructor;
    showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
    labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    inline: BooleanConstructor;
    statusIcon: BooleanConstructor;
    validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    hideRequiredAsterisk: BooleanConstructor;
    scrollToError: BooleanConstructor;
    scrollIntoViewOptions: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export declare const searchEmits: {
    'update:modelValue': (value: import("..").ExternalParam) => value is object | any[] | undefined;
    submit: (done: () => void, isValid: boolean, invalidFields?: import("..").InvalidFields) => boolean;
    reset: () => boolean;
    'step-change': (active: import("element-plus").TabPaneName) => active is string | number;
    'collapse-change': (active: import("element-plus").CollapseModelValue) => active is import("element-plus").CollapseActiveName[];
    'tab-change': (name: import("element-plus").TabPaneName) => name is string | number;
    'add-item': (indexes: number[]) => boolean;
    'remove-item': (indexes: number[]) => boolean;
};
