import { Recordable } from '../../type';
import { GetRowKey, ModalLayoutConfig, RequestReturn } from './interface';
import { VNodeChild, StyleValue } from 'vue';
export declare function genRequest(api: ((params: any) => Promise<RequestReturn<any>>) | undefined, gerRowKey: GetRowKey<any>, callback?: (length: number) => void): {
    request: (params: any) => Promise<{
        data: any[] | undefined;
        total: number | undefined;
    }>;
    setExtraParams: (params?: Recordable) => void;
};
export declare function addRowKeyField(row: any, gerRowKey: GetRowKey<any>): any;
export declare function delRowKeyField(row: any): any;
/** 解析props */
export declare function getModalLayoutConfig(props?: ModalLayoutConfig): {
    props: {
        readonly layoutType: "two-column" | undefined;
        readonly leftTitle?: string | VNodeChild;
        readonly rightContentStyle?: StyleValue;
        readonly dividerOffset?: number;
        readonly bordered?: boolean;
        readonly isReverse?: boolean;
    };
    slots: {
        renderSelectedItem: ((props: {
            record: any;
            actions: {
                deleteItem: (record: any) => void;
                deleteCurrent: () => void;
            };
        }) => any) | undefined;
        rightTitle: ((config: {
            count: number;
        }) => any) | undefined;
        rightBottom: ((props: {
            records: any[];
            actions: {
                deleteItem: (record: any) => void;
            };
        }) => any) | undefined;
    };
};
/**
 * 异步回调
 * buildPromise 构建异步回调
 * resolve reject 兑现或拒绝回调
 */
export declare class AsyncCallback<T = any> {
    private p;
    private operateFn;
    constructor();
    buildPromise(): Promise<T>;
    clear(): void;
    /** 兑现回调 */
    resolve(data: T): void;
    /** 拒绝回调 */
    reject(error?: string): void;
}
/** 数字类型转像素 */
export declare function toHeight(val: number | string): string;
