import type { PropType, ExtractPropTypes, StyleValue } from 'vue';
import type { Arrayable, ComponentSize } from '../../_utils/types';
import type { IFormItem, IFormData } from '../../form/src/types';
import type { IFetch, IColumn, IRowKey, IRecord, IPaginationConfig } from '../../table/src/table/types';
type ITableConfig = {
    fetch?: IFetch;
    columns?: IColumn[];
    rowKey?: ((row: IRecord, index: number) => IRowKey) | IRowKey;
    webPagination?: boolean;
    paginationConfig?: IPaginationConfig;
};
export declare const _props: {
    size: {
        type: PropType<ComponentSize>;
        validator: (val: string) => boolean;
    };
    uniqueKey: {
        type: StringConstructor;
    };
    initialValue: {
        type: PropType<IFormData<string | number, string | number | (string | number)[] | undefined>>;
    };
    defaultSelectedKeys: {
        type: PropType<(string | number)[]>;
        default: () => never[];
    };
    selectionRows: {
        type: PropType<IRecord<any>[]>;
    };
    multiple: {
        type: BooleanConstructor;
    };
    filters: {
        type: PropType<IFormItem[]>;
        default: () => never[];
    };
    table: {
        type: PropType<ITableConfig>;
        default: () => {};
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    style: {
        type: PropType<StyleValue>;
    };
};
export declare const _emits: {
    close: (data: IRecord | null, keys?: IRowKey[]) => boolean;
};
export type SearchHelperProps = ExtractPropTypes<typeof _props>;
export type SearchHelperEmits = typeof _emits;
export {};
