import { AugmentedQueries, AugmentedQuery } from '@polkadot/api/types'; import BigNumber from 'bignumber.js'; import { Entity, Procedure } from '../../internal'; /** * A helper type that will strip `readonly` from the properties of an object. Use with caution * @hidden */ export type Mutable = { -readonly [K in keyof Immutable]: Immutable[K]; }; /** * @hidden */ export type ProcedureFunc = () => Procedure; /** * @hidden */ export type UnionOfProcedureFuncs = Args extends unknown ? ProcedureFunc : never; /** * Less strict version of `Parameters` */ export 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 `.toHuman` had been called on all of them) */ export 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; /** * @hidden * * Extract the polkadot.js query function * * @example `QueryableStorageFunction<'identity', 'authorizations'>` returns * `( * arg1: * | PolymeshPrimitivesSecondaryKeySignatory * | { Identity: any } * | { Account: any } * | string * | Uint8Array, * arg2: u64 | AnyNumber | Uint8Array * ) => Observable>` */ export type QueryFunction, QueryName extends keyof AugmentedQueries<'promise'>[ModuleName]> = AugmentedQueries<'promise'>[ModuleName][QueryName] extends AugmentedQuery<'promise', infer Fun> ? Fun : never; /** * Override T with the properties of R */ export type Modify = Omit & R; /** * * Ensure a specific property of T is defined */ export type WithRequired = T & { [P in K]-?: T[P]; }; /** * Pick a single property from T and ensure it is defined */ export type Ensured = Required> & { [SubKey in K]: NonNullable; }; export type PaginatedQueryArgs = T & { size?: number; start?: number; }; export type QueryArgs = { [P in K]?: T[P] | undefined; }; /** * @hidden * * 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