export { getFirstElement, getFirstKey, assignCamelCase, assignMap, assignData }; export interface IAssignOption { override?: boolean; keepDest?: boolean; excepts?: string[] | string; attributes?: string[] | string; stripNull?: boolean; prefix?: string; } export interface IObject { [key: string]: any; } /** * Get First element of object * * @param {Object} obj Object data * @return {any} Element data */ declare function getFirstElement(obj: object): any; /** * Get first key of object * * @param {Object} obj Object data * @return {string} Object key */ declare function getFirstKey(obj: object): string; export declare function stripObject(input: object, emptyValues?: any[]): object; /** * Binds underline data to model * * @param {Object} dest Destination model object * @param {Object} src Source model object * @param {Object} opts Overide if target value is null */ export declare function assignSnakeCase(dest: T, src: object, opts?: IAssignOption): T; /** * Binds data to model with attibute key mapping * * @param {Object} dest Destination model object * @param {Object} src Source model object * @param {Array} attributeKeys Attribute keys * @param {boolean} opts Overide if target value is null */ declare function assignMap(dest: T, src: IObject, attributeKeys: string[], opts?: IAssignOption): T; /** * Assign mapping camel case * * @param {Object} dest Destination model object * @param {Object} src Source model object * @param {boolean} opts Overide if target value is null */ declare function assignCamelCase(dest: T, src: T, opts?: IAssignOption): T; /** * Binds data to model * * @param {Object} dest Destination model object * @param {Object} src Source model object * @param {IAssignOption} opts Overide if target value is null */ declare function assignData(dest: T, src: T, options?: IAssignOption): T; export declare function applyAssignOptions(opts: any): IAssignOption; export declare function getObjectValue(obj: object, key: string, isStrict?: boolean): T; export declare function deepCamelCaseObject(src: object): { [key: string]: any; }; export declare function camelCaseObject(src: IObject): T; export declare function snakeCaseObject(src: IObject): T;