import { SizeRecord as SizeRecordType } from '../../customTypings/index.d';
/**
* @desc Represent a size comprised of width and height
* avoid reading directly, use the Size module api
* Do not mutate it manually, use the Size module api
* @example
Create a Size
* const size = Size.create(100, 200);
* @example Read from Size
* const width = Size.getWidth(size);
* @example transform a Size
* const size = Size.setWidth(100, size);
* @typedef {Immutable.Record} SizeRecord
*/
/**
* check if parameter is SizeRecord
* @param {*} size
* @return {bool}
*/
export declare function isSize(size: SizeRecordType): boolean;
/**
* check if parameter is SizeRecord else throw in dev mode
* @param {*} size
* @return {bool}
*/
export declare function isSizeElseThrow(size: SizeRecordType): boolean;
/**
* return width of SizeRecord
* @param {SizeRecord} size
* @return {number}
*/
export declare function getWidth(size: SizeRecordType): any;
/**
* set width of given SizeRecord
* @function
* @param {number} width
* @param {SizeRecord} size
* @return {SizeRecord}
*/
export declare const setWidth: import("lodash").CurriedFunction2;
/**
* return height of the SizeRecord
* @param {SizeRecord} size
* @return {number}
*/
export declare function getHeight(size: SizeRecordType): any;
/**
* set height of given SizeRecord
* @function
* @param {number} height
* @param {SizeRecord} size
* @returns {SizeRecord}
*/
export declare const setHeight: import("lodash").CurriedFunction2;
/**
* given width and height create a SizeRecord
* @function
* @param {number} width
* @param {number} height
* @return {SizeRecord}
*/
export declare const create: import("lodash").CurriedFunction2;