import { DefaultMeta } from "../types/DefaultMeta"; /** * Generic intersection type for result objects to include metadata as a non-enumerable property. * @example * ```typescript * const result = await client.watchdogstats(); * console.log(result); * // {watchdog_lastMinute: 1, staff_rollingDaily: 2609, watchdog_total: 5591714, watchdog_rollingDaily: 4213, …} * console.log(result.meta) * // {success: true} * ``` */ export type ResultObject, K extends (keyof T)[], B extends true | void = void> = (B extends true ? T : T[K[number]] extends string | number | boolean | undefined ? OmitRespectingRemapping : T[K[number]]) & { meta: B extends true ? DefaultMeta : (T[K[number]] extends string | number | boolean | undefined ? Pick : OmitRespectingRemapping) & DefaultMeta; }; /** @hidden */ export declare function getResultObject(response: T & DefaultMeta, keys?: K): ResultObject, K, B>;