/** * Representation of a single value * * @export * @class Value */ declare class Value { readonly value: unknown; protected static cache: Map; /** * Creates an instance of Value * * @param {unknown} value * @memberof Value */ constructor(value: unknown); /** * Create (or re-use) a Value instance representing a value * * @static * @param {unknown} value * @returns {Value} * @memberof Value */ static from(value: unknown): Value; } /** * interleave TemplateLiteral arguments into a single list of Value instances * * @export * @param {TemplateStringsArray} strings * @param {...Array} values * @returns {Array} */ declare function interleave(strings: TemplateStringsArray, ...values: Array): Array; type FilterFunction = (...args: Array) => boolean; type Item = { [key: string]: unknown; }; type MapperFunction = (value: T | string | unknown) => T; type Mapper = { [K in keyof T]: MapperFunction; }; type Params = Parameters; type Table = { (...args: Params): Array; }; type TableOf = { (...args: Params): Array; }; /** * Create a new template literal function parsing tables with a custom set of filters * * @export * @param {...Array} filters * @returns {(...args: Params) => Array} */ declare function create(...filters: Array): (...args: Params) => Array; /** * Table template literal parser, exludes any divider ro, preserves rows * consisting of only undefined values * * * @template T * @param {TemplateStringsArray} strings * @param {...Array} values * @returns {Array} */ declare const empty: Table; /** * Table template literal parser, exludes both any divider row and * rows that contain only undefined values * * @template T * @param {TemplateStringsArray} strings * @param {...Array} values * @returns {Array} */ declare const table: Table & { empty: Table; }; /** * Create a new table template literaral parser, mapping specified keys * * @export * @template T * @param {Mapper} mapper * @return {Table} */ declare function mapper(mapper: Partial>): TableOf; export { create, empty, mapper, table };