import type { Entries } from 'type-fest'; import type { Arrayable } from '.'; export declare const keysOf: (arr: T) => (keyof T)[]; export declare const entriesOf: (arr: T) => Entries; export { hasOwn } from '@vue/shared'; export declare const getProp: (obj: Record, path: Arrayable, defaultValue?: any) => { value: T; }; /** * 分离对象中的 on 和 props,并重命名 onXxx 为 xxx * @param obj * @returns { on: {}, props: {} } */ export declare function separateOnAndProps>(obj: T): { on: Record; props: Record; }; export type Writeable = { -readonly [P in keyof T]: T[P]; }; export declare function pick(obj: T, keys: ReadonlyArray, ignoreUndefined?: boolean): Writeable>; export declare const flat: (arr: (T | T[])[]) => T[]; export declare const isSameValue: (newValue: unknown, oldValue: unknown) => boolean;