import { EventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
import { Recordable } from '../type';
import { isDef } from './is';
/**
 * @description:  Set ui mount node
 */
export declare function getPopupContainer(node?: HTMLElement): HTMLElement;
export { isDef };
export declare function getDynamicProps<T extends Record<string, unknown>, U>(props: T): Partial<U>;
/**
 * 按条件移除
 * @param obj
 * @param when
 * @returns
 */
export declare function omitWhen<T extends object, K extends keyof T>(obj: T, fieldList?: K[], when?: (field: string, fieldValue: T[K]) => boolean): Omit<T, K>;
export declare function isPascalCase(str: string): boolean;
/**
 * 递归处理reactive对象转raw object
 * @param obj
 * @returns
 */
export declare function convertReactiveToRaw(obj: Recordable<any>): Recordable<any>;
/**
 * 删除对象中为undefined的key
 * @param value
 * @returns
 */
export declare function omitUndefined(value: Recordable<any>): {
    [x: string]: any;
};
/**
 * 如果是一个函数则执行它，否则直接返回该值
 * @param func
 * @param restParams
 * @returns
 */
export declare function runFunction<T extends any[]>(func: any, ...restParams: T): any;
/**
 * 获取当前的路由类型
 * @returns
 */
export declare function getRouteType(): "history" | "hash";
export declare function getScrollbarSize(): number;
export declare function getTopWindow(): Window;
export declare function randomStr(size?: number, dict?: string): string;
export declare function getNumberPx(size: string | number | undefined): number | undefined;
export declare function runEventHandler(handler?: EventHandler | EventHandler[], ...params: any[]): void;
