/** * Returns the first argument * @param v */ export declare const identity: (v: T) => T; /** * Check two objects is shallow equal or not * @param a * @param b */ export declare function shallowEqual(a: T, b: T): boolean; /** * Copy properties from src function to dst function, and returns dst * * @param src * @param dst */ export declare function hoistMethod any>(src: M, dst: (...args: Parameters) => ReturnType): M; export declare const kAmosObject: unique symbol; /** * A symbol indicates the object is a amos' object. */ export interface AmosObject { [kAmosObject]: K; } /** * Check an object is an amos object or not * * @param key * @param o */ export declare function isAmosObject>(key: T[typeof kAmosObject], o: any): o is T; /** * Check two array is shallow equal or not * @param a * @param b */ export declare function arrayEqual>(a: T, b: T): boolean; export declare function config(this: T, options: object): T;