/**
 * Check if data is a Number and adjust the decimals point
 * @param {*} data
 * @param {*} decimals
 * @returns
 */
export declare const checkNumber: (data: any, decimals: number) => any;
/**
 * Filter rows by expression
 * @param {*} rows
 * @param {*} expr expr must match the inbuilt parser expressions
 */
export declare const filterRows: (rows: any, expr: any) => any;
/**
 * Get service data
 * @param {*} rowData
 * @param {*} servicing
 */
export declare const getServiced: (rowData: any, servicing: any) => {
    data: any;
    status: boolean;
    path: string;
    enabled: boolean;
} | {
    data: undefined;
    status: boolean;
    path: undefined;
    enabled: boolean;
};
/**
 * Flatten an array with object with one key as array
 * @param {*} data
 * @param {*} omitKey
 */
export declare const flattenObjectArray: (data: any, omitKey: string) => ({
    [x: string]: any[];
} & Pick<any, number | symbol>)[];
/**
 * Flatten an array with object to key objects
 * @param {*} data
 * @param {*} omitKey
 */
export declare const flattenObjectArrayToObjects: (data: any, omitKey: string) => ({
    [x: string]: any;
} & Pick<any, number | symbol>)[];
/**
 * Get element by approval status
 * @param {*} element
 * @param {*} status
 * @param {*} k
 */
export declare const checkElement: (element: any[], status: string, k: string) => boolean;
/**
 * Approve an item
 * @param {*} action
 * @param {*} approveData
 * @param {*} currentUser
 */
export declare const approveItem: (_action: string, approveData: any[], _currentUser: any) => {
    approved: any[];
    sendUpdate: any[];
    message: any[];
};
export declare const serviceItem: (action: string, approveData: any[], servicing: any) => {
    approved: any[];
    sendUpdate: any[];
    message: any[];
};
/**
 * Get Data Source
 * @param {*} items
 * @param {*} access
 * @param {*} uischemaOptions
 */
export declare const getDataSource: (items: any[], access: any, uischemaOptions: any) => any[];
/**
 * Lookup Key in columns
 * @param {*} columns
 * @param {*} row
 */
export declare const lookupKey: (columns: any, row: any) => string | undefined;
/**
 * Count columns
 * @param {*} items
 * @param {*} spanningPath
 * @returns
 */
export declare const countColumns: (items: any, spanningPath?: string) => ({
    [x: number]: number;
    items?: undefined;
} | {
    items: number;
})[];
/**
 * Get Column Row Span
 * @param {*} columns
 * @param {*} largest
 * @param {*} spanningPath
 * @returns
 */
export declare const getColumnRowSpan: (columns: any[], largest: string, spanningPath?: any) => any[];
/**
 * Get Column Row Data Span
 * @param {*} columns
 * @param {*} largest
 * @returns
 */
export declare const getColumnDataRowSpan: (columns: any[], largest: string) => any[];
/**
 * Get Array Items
 * @param {*} items
 * @param {*} type
 * @returns
 */
export declare const getArrayItems: (items: any[], type?: string, spanningPath?: any) => any[];
/**
 * Flatten columns with object with one key as array
 * @param {*} data
 * @param {*} omitKey
 */
export declare const flattenColumnsObjectArray: (data: any[], searchKey: string) => any[];
/**
 * Natively compare two numbers and order by descending
 * @param {*} a
 * @param {*} b
 * @param {*} orderBy
 */
export declare const descendingComparator: (a: any, b: any, orderBy: any, schemaType: any) => 0 | 1 | -1;
export declare const getComparator: (order: string, orderBy: string, schemaType: any) => (a: any, b: any) => number;
export declare const stableSort: (array: any[], comparator: any) => any[];
/**
 * Filter data by object
 * @param {*} data
 * @param {*} filterObject
 */
export declare const filterDataObject: (data: any[], filterObject: any) => any[];
/**
 * Create a filter object from data using array of path keys
 * @param {*} data
 * @param {*} filterKeys
 */
export declare const createFilterObject: (data: any[], filterKeys: any) => Pick<any[], any>;
/**
 * Create array of data path from keys
 * @param {*} keys
 */
export declare const createPathKeys: (keys: any[]) => string[];
/**
 * Get filter object from data
 * @param {*} data
 * @param {*} keys
 */
export declare const getFilterObject: (data: any[], keys: any[]) => Pick<any[], any>;
/**
 * Get all visible rows
 * @param {*} data
 * @param {*} columns
 */
export declare const getVisibleRows: (data: any[], columns: any) => any[];
/**
 * Get all mutated rows
 * @param {*} data
 * @param {*} columns
 */
export declare const getMutatedRows: (data: any[], columns: any) => any[];
/**
 * Get row with filters, calculations, etc
 * @param {*} row
 * @param {*} columns
 * @param {*} tableData
 */
export declare const getRowVisible: (row: any, columns: any[], tableData: any) => any;
/**
 * Flatten orgunits and data
 * @param {*} items
 * @param {*} orgunits
 */
export declare const flatOrgUnits: (items: any[], orgunits: any) => any[];
/**
 * Get Reporting rates data
 * @param {*} dv
 */
export declare const getReportingRates: (items: any[], orgunits: any) => any[];
/**
 * Retrieve flat value
 * @param {*} dv
 */
export declare const getValue: (dv: any[]) => any[];
/**
 * Search options
 * @param {*} data
 * @param {*} options
 */
export declare const filterLike: (data: any[], options: string, key: string) => any[];
/**
 * Map data to location hierarchy
 * @param {*} data
 * @param {*} locations
 * @param {*} key  e.g 'location.path'
 * @returns
 */
export declare const appendLocations: (data: any[], locations: any[], key: string) => any[];
/**
 * Flatten data
 * @param {*} data
 */
export declare const flatData: (data: any[], newKey: string) => boolean[];
/**
 * Flatten data by path and append to data
 * @param {*} data
 * @param {*} path
 */
export declare const flatDataByKey: (data: any[], path: string, k: string, v: any) => any[];
/**
 * Merge data with orgunits for reporting rates
 * @param {*} data
 * @param {*} ous
 */
export declare const mergeWithOrgUnits: (data: any[], ous: any[]) => any[];
/**
 * Merge data with orgunits
 * @param {*} data
 * @param {*} ous
 */
export declare const mergeDataWithOrgUnits: (data: any[], ous: any[]) => any[];
/**
 * Add location object
 * @param {*} data
 */
export declare const addId: (data: any[]) => any[];
/**
 * Moves an item from one list to another list.
 */
export declare const MoveItemFromList: (list: any[], _startIndex?: number, endIndex?: any) => any[];
