import { AugmentedQuery } from '@polkadot/api/types'; import type { Observable } from '@polkadot/types/types'; import BigNumber from 'bignumber.js'; import { Entity, Procedure } from "../../internal"; export declare type Mutable = { -readonly [K in keyof Immutable]: Immutable[K]; }; export declare type ProcedureFunc = () => Procedure; export declare type UnionOfProcedureFuncs = Args extends unknown ? ProcedureFunc : never; /** * Less strict version of Parameters */ export declare type ArgsType = T extends (...args: infer A) => unknown ? A : never; /** * Recursively traverse a type and transform its Entity properties into their * human readable version (as if `.toJson` had been called on all of them) */ export declare type HumanReadableType = T extends Entity ? HumanReadableType : T extends BigNumber ? string : T extends Date ? string : T extends object ? { [K in keyof T]: T[K] extends Entity ? HumanReadableType : HumanReadableType; } : T; /** * Extract the return type of a polkadot.js query function * * @example `QueryReturnType` returns `Option` */ export declare type QueryReturnType = T extends AugmentedQuery<'promise', infer Fun> ? ReturnType extends Observable ? R : never : never; /** * Override T with the properties of R */ export declare type Modify = Omit & R; /** * Ensure a specific property of T is defined */ export declare type WithRequired = T & { [P in K]-?: T[P]; }; /** * Pick a single property from T and ensure it is defined */ export declare type Ensured = Required>; /** * Create a literal tuple type from a list of arguments * * @param args - values to turn into a tuple */ export declare const tuple: (...args: T) => T; //# sourceMappingURL=index.d.ts.map