@parity/truapi 0.1.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/client.js +5 -2
  2. package/dist/explorer/codegen/types.d.ts +2 -0
  3. package/dist/explorer/codegen/types.js +3610 -0
  4. package/dist/explorer/codegen/versions/0.2.0/services.d.ts +2 -0
  5. package/dist/explorer/codegen/versions/0.2.0/services.js +644 -0
  6. package/dist/explorer/codegen/versions/0.2.0/types.d.ts +2 -0
  7. package/dist/explorer/codegen/versions/0.2.0/types.js +3960 -0
  8. package/dist/explorer/codegen/versions/0.3.0/services.d.ts +2 -0
  9. package/dist/explorer/codegen/versions/0.3.0/services.js +644 -0
  10. package/dist/explorer/codegen/versions/0.3.0/types.d.ts +2 -0
  11. package/dist/explorer/codegen/versions/0.3.0/types.js +3610 -0
  12. package/dist/explorer/codegen/versions/0.3.1/services.d.ts +2 -0
  13. package/dist/explorer/codegen/versions/0.3.1/services.js +644 -0
  14. package/dist/explorer/codegen/versions/0.3.1/types.d.ts +2 -0
  15. package/dist/explorer/codegen/versions/0.3.1/types.js +3610 -0
  16. package/dist/explorer/data-types.d.ts +49 -0
  17. package/dist/explorer/data-types.js +1 -0
  18. package/dist/explorer/versions.d.ts +9 -0
  19. package/dist/explorer/versions.js +21 -0
  20. package/dist/generated/client.d.ts +86 -65
  21. package/dist/generated/client.js +166 -194
  22. package/dist/generated/types.d.ts +442 -232
  23. package/dist/generated/types.js +110 -94
  24. package/dist/generated/wire-table.d.ts +5 -11
  25. package/dist/generated/wire-table.js +5 -11
  26. package/dist/index.d.ts +2 -1
  27. package/dist/index.js +2 -1
  28. package/dist/playground/codegen/services.js +327 -84
  29. package/dist/playground/codegen/truapi-dts.d.ts +1 -0
  30. package/dist/playground/codegen/truapi-dts.js +4310 -0
  31. package/dist/playground/services-types.d.ts +11 -2
  32. package/dist/scale.d.ts +8 -1
  33. package/dist/scale.js +19 -1
  34. package/dist/transport.d.ts +33 -6
  35. package/dist/transport.js +150 -71
  36. package/dist/well-known-chains.d.ts +13 -0
  37. package/dist/well-known-chains.js +7 -0
  38. package/package.json +28 -6
@@ -0,0 +1 @@
1
+ export declare const truapiDts = "// neverthrow (inlined)\n\ninterface ErrorConfig {\n withStackTrace: boolean;\n}\n\ndeclare class ResultAsync<T, E> implements PromiseLike<Result<T, E>> {\n private _promise;\n constructor(res: Promise<Result<T, E>>);\n static fromSafePromise<T, E = never>(promise: PromiseLike<T>): ResultAsync<T, E>;\n static fromPromise<T, E>(promise: PromiseLike<T>, errorFn: (e: unknown) => E): ResultAsync<T, E>;\n static fromThrowable<A extends readonly any[], R, E>(fn: (...args: A) => Promise<R>, errorFn?: (err: unknown) => E): (...args: A) => ResultAsync<R, E>;\n static combine<T extends readonly [ResultAsync<unknown, unknown>, ...ResultAsync<unknown, unknown>[]]>(asyncResultList: T): CombineResultAsyncs<T>;\n static combine<T extends readonly ResultAsync<unknown, unknown>[]>(asyncResultList: T): CombineResultAsyncs<T>;\n static combineWithAllErrors<T extends readonly [ResultAsync<unknown, unknown>, ...ResultAsync<unknown, unknown>[]]>(asyncResultList: T): CombineResultsWithAllErrorsArrayAsync<T>;\n static combineWithAllErrors<T extends readonly ResultAsync<unknown, unknown>[]>(asyncResultList: T): CombineResultsWithAllErrorsArrayAsync<T>;\n map<A>(f: (t: T) => A | Promise<A>): ResultAsync<A, E>;\n andThrough<F>(f: (t: T) => Result<unknown, F> | ResultAsync<unknown, F>): ResultAsync<T, E | F>;\n andTee(f: (t: T) => unknown): ResultAsync<T, E>;\n orTee(f: (t: E) => unknown): ResultAsync<T, E>;\n mapErr<U>(f: (e: E) => U | Promise<U>): ResultAsync<T, U>;\n andThen<R extends Result<unknown, unknown>>(f: (t: T) => R): ResultAsync<InferOkTypes<R>, InferErrTypes<R> | E>;\n andThen<R extends ResultAsync<unknown, unknown>>(f: (t: T) => R): ResultAsync<InferAsyncOkTypes<R>, InferAsyncErrTypes<R> | E>;\n andThen<U, F>(f: (t: T) => Result<U, F> | ResultAsync<U, F>): ResultAsync<U, E | F>;\n orElse<R extends Result<unknown, unknown>>(f: (e: E) => R): ResultAsync<InferOkTypes<R> | T, InferErrTypes<R>>;\n orElse<R extends ResultAsync<unknown, unknown>>(f: (e: E) => R): ResultAsync<InferAsyncOkTypes<R> | T, InferAsyncErrTypes<R>>;\n orElse<U, A>(f: (e: E) => Result<U, A> | ResultAsync<U, A>): ResultAsync<U | T, A>;\n match<A, B = A>(ok: (t: T) => A, _err: (e: E) => B): Promise<A | B>;\n unwrapOr<A>(t: A): Promise<T | A>;\n /**\n * @deprecated will be removed in 9.0.0.\n *\n * You can use `safeTry` without this method.\n * @example\n * ```typescript\n * safeTry(async function* () {\n * const okValue = yield* yourResult\n * })\n * ```\n * Emulates Rust's `?` operator in `safeTry`'s body. See also `safeTry`.\n */\n safeUnwrap(): AsyncGenerator<Err<never, E>, T>;\n then<A, B>(successCallback?: (res: Result<T, E>) => A | PromiseLike<A>, failureCallback?: (reason: unknown) => B | PromiseLike<B>): PromiseLike<A | B>;\n [Symbol.asyncIterator](): AsyncGenerator<Err<never, E>, T>;\n}\ndeclare function okAsync<T, E = never>(value: T): ResultAsync<T, E>;\ndeclare function okAsync<T extends void = void, E = never>(value: void): ResultAsync<void, E>;\ndeclare function errAsync<T = never, E = unknown>(err: E): ResultAsync<T, E>;\ndeclare function errAsync<T = never, E extends void = void>(err: void): ResultAsync<T, void>;\ndeclare const fromPromise: typeof ResultAsync.fromPromise;\ndeclare const fromSafePromise: typeof ResultAsync.fromSafePromise;\ndeclare const fromAsyncThrowable: typeof ResultAsync.fromThrowable;\ndeclare type CombineResultAsyncs<T extends readonly ResultAsync<unknown, unknown>[]> = IsLiteralArray<T> extends 1 ? TraverseAsync<UnwrapAsync<T>> : ResultAsync<ExtractOkAsyncTypes<T>, ExtractErrAsyncTypes<T>[number]>;\ndeclare type CombineResultsWithAllErrorsArrayAsync<T extends readonly ResultAsync<unknown, unknown>[]> = IsLiteralArray<T> extends 1 ? TraverseWithAllErrorsAsync<UnwrapAsync<T>> : ResultAsync<ExtractOkAsyncTypes<T>, ExtractErrAsyncTypes<T>[number][]>;\ndeclare type UnwrapAsync<T> = IsLiteralArray<T> extends 1 ? Writable<T> extends [infer H, ...infer Rest] ? H extends PromiseLike<infer HI> ? HI extends Result<unknown, unknown> ? [Dedup<HI>, ...UnwrapAsync<Rest>] : never : never : [] : T extends Array<infer A> ? A extends PromiseLike<infer HI> ? HI extends Result<infer L, infer R> ? Ok<L, R>[] : never : never : never;\ndeclare type TraverseAsync<T, Depth extends number = 5> = IsLiteralArray<T> extends 1 ? Combine<T, Depth> extends [infer Oks, infer Errs] ? ResultAsync<EmptyArrayToNever<Oks>, MembersToUnion<Errs>> : never : T extends Array<infer I> ? Combine<MemberListOf<I>, Depth> extends [infer Oks, infer Errs] ? Oks extends unknown[] ? Errs extends unknown[] ? ResultAsync<EmptyArrayToNever<Oks[number][]>, MembersToUnion<Errs[number][]>> : ResultAsync<EmptyArrayToNever<Oks[number][]>, Errs> : Errs extends unknown[] ? ResultAsync<Oks, MembersToUnion<Errs[number][]>> : ResultAsync<Oks, Errs> : never : never;\ndeclare type TraverseWithAllErrorsAsync<T, Depth extends number = 5> = TraverseAsync<T, Depth> extends ResultAsync<infer Oks, infer Errs> ? ResultAsync<Oks, Errs[]> : never;\ndeclare type Writable<T> = T extends ReadonlyArray<unknown> ? [...T] : T;\n\ndeclare type ExtractOkTypes<T extends readonly Result<unknown, unknown>[]> = {\n [idx in keyof T]: T[idx] extends Result<infer U, unknown> ? U : never;\n};\ndeclare type ExtractOkAsyncTypes<T extends readonly ResultAsync<unknown, unknown>[]> = {\n [idx in keyof T]: T[idx] extends ResultAsync<infer U, unknown> ? U : never;\n};\ndeclare type ExtractErrTypes<T extends readonly Result<unknown, unknown>[]> = {\n [idx in keyof T]: T[idx] extends Result<unknown, infer E> ? E : never;\n};\ndeclare type ExtractErrAsyncTypes<T extends readonly ResultAsync<unknown, unknown>[]> = {\n [idx in keyof T]: T[idx] extends ResultAsync<unknown, infer E> ? E : never;\n};\ndeclare type InferOkTypes<R> = R extends Result<infer T, unknown> ? T : never;\ndeclare type InferErrTypes<R> = R extends Result<unknown, infer E> ? E : never;\ndeclare type InferAsyncOkTypes<R> = R extends ResultAsync<infer T, unknown> ? T : never;\ndeclare type InferAsyncErrTypes<R> = R extends ResultAsync<unknown, infer E> ? E : never;\n\ndeclare namespace Result {\n /**\n * Wraps a function with a try catch, creating a new function with the same\n * arguments but returning `Ok` if successful, `Err` if the function throws\n *\n * @param fn function to wrap with ok on success or err on failure\n * @param errorFn when an error is thrown, this will wrap the error result if provided\n */\n function fromThrowable<Fn extends (...args: readonly any[]) => any, E>(fn: Fn, errorFn?: (e: unknown) => E): (...args: Parameters<Fn>) => Result<ReturnType<Fn>, E>;\n function combine<T extends readonly [Result<unknown, unknown>, ...Result<unknown, unknown>[]]>(resultList: T): CombineResults<T>;\n function combine<T extends readonly Result<unknown, unknown>[]>(resultList: T): CombineResults<T>;\n function combineWithAllErrors<T extends readonly [Result<unknown, unknown>, ...Result<unknown, unknown>[]]>(resultList: T): CombineResultsWithAllErrorsArray<T>;\n function combineWithAllErrors<T extends readonly Result<unknown, unknown>[]>(resultList: T): CombineResultsWithAllErrorsArray<T>;\n}\ndeclare type Result<T, E> = Ok<T, E> | Err<T, E>;\ndeclare function ok<T, E = never>(value: T): Ok<T, E>;\ndeclare function ok<T extends void = void, E = never>(value: void): Ok<void, E>;\ndeclare function err<T = never, E extends string = string>(err: E): Err<T, E>;\ndeclare function err<T = never, E = unknown>(err: E): Err<T, E>;\ndeclare function err<T = never, E extends void = void>(err: void): Err<T, void>;\n/**\n * Evaluates the given generator to a Result returned or an Err yielded from it,\n * whichever comes first.\n *\n * This function is intended to emulate Rust's ? operator.\n * See `/tests/safeTry.test.ts` for examples.\n *\n * @param body - What is evaluated. In body, `yield* result` works as\n * Rust's `result?` expression.\n * @returns The first occurrence of either an yielded Err or a returned Result.\n */\ndeclare function safeTry<T, E>(body: () => Generator<Err<never, E>, Result<T, E>>): Result<T, E>;\ndeclare function safeTry<YieldErr extends Err<never, unknown>, GeneratorReturnResult extends Result<unknown, unknown>>(body: () => Generator<YieldErr, GeneratorReturnResult>): Result<InferOkTypes<GeneratorReturnResult>, InferErrTypes<YieldErr> | InferErrTypes<GeneratorReturnResult>>;\n/**\n * Evaluates the given generator to a Result returned or an Err yielded from it,\n * whichever comes first.\n *\n * This function is intended to emulate Rust's ? operator.\n * See `/tests/safeTry.test.ts` for examples.\n *\n * @param body - What is evaluated. In body, `yield* result` and\n * `yield* resultAsync` work as Rust's `result?` expression.\n * @returns The first occurrence of either an yielded Err or a returned Result.\n */\ndeclare function safeTry<T, E>(body: () => AsyncGenerator<Err<never, E>, Result<T, E>>): ResultAsync<T, E>;\ndeclare function safeTry<YieldErr extends Err<never, unknown>, GeneratorReturnResult extends Result<unknown, unknown>>(body: () => AsyncGenerator<YieldErr, GeneratorReturnResult>): ResultAsync<InferOkTypes<GeneratorReturnResult>, InferErrTypes<YieldErr> | InferErrTypes<GeneratorReturnResult>>;\ninterface IResult<T, E> {\n /**\n * Used to check if a `Result` is an `OK`\n *\n * @returns `true` if the result is an `OK` variant of Result\n */\n isOk(): this is Ok<T, E>;\n /**\n * Used to check if a `Result` is an `Err`\n *\n * @returns `true` if the result is an `Err` variant of Result\n */\n isErr(): this is Err<T, E>;\n /**\n * Maps a `Result<T, E>` to `Result<U, E>`\n * by applying a function to a contained `Ok` value, leaving an `Err` value\n * untouched.\n *\n * @param f The function to apply an `OK` value\n * @returns the result of applying `f` or an `Err` untouched\n */\n map<A>(f: (t: T) => A): Result<A, E>;\n /**\n * Maps a `Result<T, E>` to `Result<T, F>` by applying a function to a\n * contained `Err` value, leaving an `Ok` value untouched.\n *\n * This function can be used to pass through a successful result while\n * handling an error.\n *\n * @param f a function to apply to the error `Err` value\n */\n mapErr<U>(f: (e: E) => U): Result<T, U>;\n /**\n * Similar to `map` Except you must return a new `Result`.\n *\n * This is useful for when you need to do a subsequent computation using the\n * inner `T` value, but that computation might fail.\n * Additionally, `andThen` is really useful as a tool to flatten a\n * `Result<Result<A, E2>, E1>` into a `Result<A, E2>` (see example below).\n *\n * @param f The function to apply to the current value\n */\n andThen<R extends Result<unknown, unknown>>(f: (t: T) => R): Result<InferOkTypes<R>, InferErrTypes<R> | E>;\n andThen<U, F>(f: (t: T) => Result<U, F>): Result<U, E | F>;\n /**\n * This \"tee\"s the current value to an passed-in computation such as side\n * effect functions but still returns the same current value as the result.\n *\n * This is useful when you want to pass the current result to your side-track\n * work such as logging but want to continue main-track work after that.\n * This method does not care about the result of the passed in computation.\n *\n * @param f The function to apply to the current value\n */\n andTee(f: (t: T) => unknown): Result<T, E>;\n /**\n * This \"tee\"s the current `Err` value to an passed-in computation such as side\n * effect functions but still returns the same `Err` value as the result.\n *\n * This is useful when you want to pass the current `Err` value to your side-track\n * work such as logging but want to continue error-track work after that.\n * This method does not care about the result of the passed in computation.\n *\n * @param f The function to apply to the current `Err` value\n */\n orTee(f: (t: E) => unknown): Result<T, E>;\n /**\n * Similar to `andTee` except error result of the computation will be passed\n * to the downstream in case of an error.\n *\n * This version is useful when you want to make side-effects but in case of an\n * error, you want to pass the error to the downstream.\n *\n * @param f The function to apply to the current value\n */\n andThrough<R extends Result<unknown, unknown>>(f: (t: T) => R): Result<T, InferErrTypes<R> | E>;\n andThrough<F>(f: (t: T) => Result<unknown, F>): Result<T, E | F>;\n /**\n * Takes an `Err` value and maps it to a `Result<T, SomeNewType>`.\n *\n * This is useful for error recovery.\n *\n *\n * @param f A function to apply to an `Err` value, leaving `Ok` values\n * untouched.\n */\n orElse<R extends Result<unknown, unknown>>(f: (e: E) => R): Result<InferOkTypes<R> | T, InferErrTypes<R>>;\n orElse<U, A>(f: (e: E) => Result<U, A>): Result<U | T, A>;\n /**\n * Similar to `map` Except you must return a new `Result`.\n *\n * This is useful for when you need to do a subsequent async computation using\n * the inner `T` value, but that computation might fail. Must return a ResultAsync\n *\n * @param f The function that returns a `ResultAsync` to apply to the current\n * value\n */\n asyncAndThen<U, F>(f: (t: T) => ResultAsync<U, F>): ResultAsync<U, E | F>;\n /**\n * Maps a `Result<T, E>` to `ResultAsync<U, E>`\n * by applying an async function to a contained `Ok` value, leaving an `Err`\n * value untouched.\n *\n * @param f An async function to apply an `OK` value\n */\n asyncMap<U>(f: (t: T) => Promise<U>): ResultAsync<U, E>;\n /**\n * Unwrap the `Ok` value, or return the default if there is an `Err`\n *\n * @param v the default value to return if there is an `Err`\n */\n unwrapOr<A>(v: A): T | A;\n /**\n *\n * Given 2 functions (one for the `Ok` variant and one for the `Err` variant)\n * execute the function that matches the `Result` variant.\n *\n * Match callbacks do not necessitate to return a `Result`, however you can\n * return a `Result` if you want to.\n *\n * `match` is like chaining `map` and `mapErr`, with the distinction that\n * with `match` both functions must have the same return type.\n *\n * @param ok\n * @param err\n */\n match<A, B = A>(ok: (t: T) => A, err: (e: E) => B): A | B;\n /**\n * @deprecated will be removed in 9.0.0.\n *\n * You can use `safeTry` without this method.\n * @example\n * ```typescript\n * safeTry(function* () {\n * const okValue = yield* yourResult\n * })\n * ```\n * Emulates Rust's `?` operator in `safeTry`'s body. See also `safeTry`.\n */\n safeUnwrap(): Generator<Err<never, E>, T>;\n /**\n * **This method is unsafe, and should only be used in a test environments**\n *\n * Takes a `Result<T, E>` and returns a `T` when the result is an `Ok`, otherwise it throws a custom object.\n *\n * @param config\n */\n _unsafeUnwrap(config?: ErrorConfig): T;\n /**\n * **This method is unsafe, and should only be used in a test environments**\n *\n * takes a `Result<T, E>` and returns a `E` when the result is an `Err`,\n * otherwise it throws a custom object.\n *\n * @param config\n */\n _unsafeUnwrapErr(config?: ErrorConfig): E;\n}\ndeclare class Ok<T, E> implements IResult<T, E> {\n readonly value: T;\n constructor(value: T);\n isOk(): this is Ok<T, E>;\n isErr(): this is Err<T, E>;\n map<A>(f: (t: T) => A): Result<A, E>;\n mapErr<U>(_f: (e: E) => U): Result<T, U>;\n andThen<R extends Result<unknown, unknown>>(f: (t: T) => R): Result<InferOkTypes<R>, InferErrTypes<R> | E>;\n andThen<U, F>(f: (t: T) => Result<U, F>): Result<U, E | F>;\n andThrough<R extends Result<unknown, unknown>>(f: (t: T) => R): Result<T, InferErrTypes<R> | E>;\n andThrough<F>(f: (t: T) => Result<unknown, F>): Result<T, E | F>;\n andTee(f: (t: T) => unknown): Result<T, E>;\n orTee(_f: (t: E) => unknown): Result<T, E>;\n orElse<R extends Result<unknown, unknown>>(_f: (e: E) => R): Result<InferOkTypes<R> | T, InferErrTypes<R>>;\n orElse<U, A>(_f: (e: E) => Result<U, A>): Result<U | T, A>;\n asyncAndThen<U, F>(f: (t: T) => ResultAsync<U, F>): ResultAsync<U, E | F>;\n asyncAndThrough<R extends ResultAsync<unknown, unknown>>(f: (t: T) => R): ResultAsync<T, InferAsyncErrTypes<R> | E>;\n asyncAndThrough<F>(f: (t: T) => ResultAsync<unknown, F>): ResultAsync<T, E | F>;\n asyncMap<U>(f: (t: T) => Promise<U>): ResultAsync<U, E>;\n unwrapOr<A>(_v: A): T | A;\n match<A, B = A>(ok: (t: T) => A, _err: (e: E) => B): A | B;\n safeUnwrap(): Generator<Err<never, E>, T>;\n _unsafeUnwrap(_?: ErrorConfig): T;\n _unsafeUnwrapErr(config?: ErrorConfig): E;\n [Symbol.iterator](): Generator<Err<never, E>, T>;\n}\ndeclare class Err<T, E> implements IResult<T, E> {\n readonly error: E;\n constructor(error: E);\n isOk(): this is Ok<T, E>;\n isErr(): this is Err<T, E>;\n map<A>(_f: (t: T) => A): Result<A, E>;\n mapErr<U>(f: (e: E) => U): Result<T, U>;\n andThrough<F>(_f: (t: T) => Result<unknown, F>): Result<T, E | F>;\n andTee(_f: (t: T) => unknown): Result<T, E>;\n orTee(f: (t: E) => unknown): Result<T, E>;\n andThen<R extends Result<unknown, unknown>>(_f: (t: T) => R): Result<InferOkTypes<R>, InferErrTypes<R> | E>;\n andThen<U, F>(_f: (t: T) => Result<U, F>): Result<U, E | F>;\n orElse<R extends Result<unknown, unknown>>(f: (e: E) => R): Result<InferOkTypes<R> | T, InferErrTypes<R>>;\n orElse<U, A>(f: (e: E) => Result<U, A>): Result<U | T, A>;\n asyncAndThen<U, F>(_f: (t: T) => ResultAsync<U, F>): ResultAsync<U, E | F>;\n asyncAndThrough<F>(_f: (t: T) => ResultAsync<unknown, F>): ResultAsync<T, E | F>;\n asyncMap<U>(_f: (t: T) => Promise<U>): ResultAsync<U, E>;\n unwrapOr<A>(v: A): T | A;\n match<A, B = A>(_ok: (t: T) => A, err: (e: E) => B): A | B;\n safeUnwrap(): Generator<Err<never, E>, T>;\n _unsafeUnwrap(config?: ErrorConfig): T;\n _unsafeUnwrapErr(_?: ErrorConfig): E;\n [Symbol.iterator](): Generator<Err<never, E>, T>;\n}\ndeclare const fromThrowable: typeof Result.fromThrowable;\ndeclare type Prev = [\n never,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n ...0[]\n];\ndeclare type CollectResults<T, Collected extends unknown[] = [], Depth extends number = 50> = [\n Depth\n] extends [never] ? [] : T extends [infer H, ...infer Rest] ? H extends Result<infer L, infer R> ? CollectResults<Rest, [\n ...Collected,\n [L, R]\n], Prev[Depth]> : never : Collected;\ndeclare type Transpose<A, Transposed extends unknown[][] = [], Depth extends number = 10> = A extends [infer T, ...infer Rest] ? T extends [infer L, infer R] ? Transposed extends [infer PL, infer PR] ? PL extends unknown[] ? PR extends unknown[] ? Transpose<Rest, [[...PL, L], [...PR, R]], Prev[Depth]> : never : never : Transpose<Rest, [[L], [R]], Prev[Depth]> : Transposed : Transposed;\ndeclare type Combine<T, Depth extends number = 5> = Transpose<CollectResults<T>, [], Depth> extends [\n infer L,\n infer R\n] ? [UnknownMembersToNever<L>, UnknownMembersToNever<R>] : Transpose<CollectResults<T>, [], Depth> extends [] ? [[], []] : never;\ndeclare type Dedup<T> = T extends Result<infer RL, infer RR> ? [unknown] extends [RL] ? Err<RL, RR> : Ok<RL, RR> : T;\ndeclare type MemberListOf<T> = ((T extends unknown ? (t: T) => T : never) extends infer U ? (U extends unknown ? (u: U) => unknown : never) extends (v: infer V) => unknown ? V : never : never) extends (_: unknown) => infer W ? [...MemberListOf<Exclude<T, W>>, W] : [];\ndeclare type EmptyArrayToNever<T, NeverArrayToNever extends number = 0> = T extends [] ? never : NeverArrayToNever extends 1 ? T extends [never, ...infer Rest] ? [EmptyArrayToNever<Rest>] extends [never] ? never : T : T : T;\ndeclare type UnknownMembersToNever<T> = T extends [infer H, ...infer R] ? [[unknown] extends [H] ? never : H, ...UnknownMembersToNever<R>] : T;\ndeclare type MembersToUnion<T> = T extends unknown[] ? T[number] : never;\ndeclare type IsLiteralArray<T> = T extends {\n length: infer L;\n} ? L extends number ? number extends L ? 0 : 1 : 0 : 0;\ndeclare type Traverse<T, Depth extends number = 5> = Combine<T, Depth> extends [infer Oks, infer Errs] ? Result<EmptyArrayToNever<Oks, 1>, MembersToUnion<Errs>> : never;\ndeclare type TraverseWithAllErrors<T, Depth extends number = 5> = Traverse<T, Depth> extends Result<infer Oks, infer Errs> ? Result<Oks, Errs[]> : never;\ndeclare type CombineResults<T extends readonly Result<unknown, unknown>[]> = IsLiteralArray<T> extends 1 ? Traverse<T> : Result<ExtractOkTypes<T>, ExtractErrTypes<T>[number]>;\ndeclare type CombineResultsWithAllErrorsArray<T extends readonly Result<unknown, unknown>[]> = IsLiteralArray<T> extends 1 ? TraverseWithAllErrors<T> : Result<ExtractOkTypes<T>, ExtractErrTypes<T>[number][]>;\n\n\n\n// scale.d.ts (module-scope)\n\n/** SCALE codec primitives used by the generated client.\n *\n * Thin wrapper over `scale-ts`: re-exports its primitives and combinators,\n * plus the Polkadot-flavour helpers it does not ship (hex-encoded bytes,\n * lazy recursive codecs, and `V<N>`-indexed tagged unions).\n */\nimport { type Codec } from \"scale-ts\";\nexport type { Codec };\nexport type { ResultPayload } from \"scale-ts\";\nexport { Enum, Option, Result, Struct, Tuple, Vector, _void, bool, compact, i8, i16, i32, i64, i128, str, u8, u16, u32, u64, u128, } from \"scale-ts\";\n/**\n * Substrate `OptionBool`: a one-byte `Option<bool>`.\n *\n * Canonical SCALE encoding (matches `parity_scale_codec::OptionBool`):\n * `undefined` \u2192 `0`, `true` \u2192 `1`, `false` \u2192 `2`.\n */\nexport declare const OptionBool: Codec<boolean | undefined>;\n/** Hex-encoded byte string, e.g. `\"0xdeadbeef\"`. */\nexport type HexString = `0x${string}`;\n/** Assert that a string is a valid hex string (`0x...`). */\nexport declare function toHexString(value: string): HexString;\n/** Encode a byte array as a lower-case hex string with a `0x` prefix. */\nexport declare function bytesToHex(bytes: Uint8Array): HexString;\n/** Decode a hex string into a byte array. Tolerates a missing `0x` prefix. */\nexport declare function hexToBytes(hex: string): Uint8Array;\n/**\n * SCALE codec for hex-encoded byte strings.\n *\n * Encode accepts a `0x`-prefixed hex string and emits SCALE bytes; decode\n * returns the bytes as a hex string. Pass `length` for fixed-size byte arrays\n * (`[u8; N]`); omit it for variable-length byte vectors (`Vec<u8>`).\n */\nexport declare function Hex(length?: number): Codec<HexString>;\n/**\n * Same wire format as `scale-ts`'s `Enum`, but exposes `value` as optional in\n * the public TS type when the variant codec is `Codec<undefined>`. Lets unit\n * variants of mixed enums round-trip as `{ tag: \"X\" }` (no `value` key).\n */\nexport declare function TaggedUnion<O extends TaggedUnionCodecs>(inner: O): Codec<TaggedUnionValue<O>>;\ntype TaggedUnionCodecs = {\n [Sym: symbol]: never;\n [Num: number]: never;\n [Str: string]: Codec<any>;\n};\ntype TaggedUnionValue<O extends TaggedUnionCodecs> = {\n [K in keyof O & string]: O[K] extends Codec<infer T> ? [T] extends [undefined] ? {\n tag: K;\n value?: undefined;\n } : {\n tag: K;\n value: T;\n } : never;\n}[keyof O & string];\n/**\n * Enum without payloads \u2014 maps string labels to SCALE discriminant bytes.\n *\n * `scale-ts` models `Enum({ Foo: _void, Bar: _void })` as tagged objects. For\n * user-facing TrUAPI enums with only unit variants, we keep the public TS shape\n * as a plain string union instead.\n */\nexport declare function Status<const T extends string>(...variants: readonly T[]): Codec<T>;\n/**\n * Defers codec construction until first use so recursive generated codecs can\n * reference each other safely.\n */\nexport declare function lazy<T>(factory: () => Codec<T>): Codec<T>;\ntype IndexedVariantCodec<T> = readonly [index: number, codec: Codec<T>];\ntype IndexedVariantValue<Variants extends Record<string, IndexedVariantCodec<any>>, K extends keyof Variants & string> = Variants[K] extends IndexedVariantCodec<infer T> ? [T] extends [undefined] ? {\n tag: K;\n value?: undefined;\n} : {\n tag: K;\n value: T;\n} : never;\n/**\n * Builds a tagged union codec with explicit SCALE discriminants.\n *\n * `scale-ts` assigns enum indexes by object key order. TrUAPI versioned enums pin\n * `V<N>` to index `N - 1`, including V2-only enums, so generated codecs use this\n * helper for versioned wire wrappers.\n */\nexport declare function indexedTaggedUnion<Variants extends Record<string, IndexedVariantCodec<any>>>(variants: Variants): Codec<{\n [K in keyof Variants & string]: IndexedVariantValue<Variants, K>;\n}[keyof Variants & string]>;\n\n\n// generated/types.d.ts (namespace T)\n\ndeclare namespace T {\n/** A 32-byte raw account identifier used for legacy (non-product) accounts. */\nexport type AccountId = HexString;\nexport const AccountId: Codec<AccountId>;\n/** Payload when a user clicks an action button. */\nexport interface ActionTrigger {\n /** Message containing the action. */\n messageId: string;\n /** Which action was triggered. */\n actionId: string;\n /** Optional additional data. */\n payload?: HexString;\n}\nexport const ActionTrigger: Codec<ActionTrigger>;\n/**\n * A resource the host can pre-allocate on behalf of the product (RFC 0010).\n *\n * For the slot-table allowances (`StatementStoreAllowance`,\n * `BulletinAllowance`, `SmartContractAllowance`), pre-allocation is\n * opportunistic and the host may also fulfil the allowance implicitly on the\n * first submission. `AutoSigning` must be requested explicitly through this\n * call.\n */\nexport type AllocatableResource = \n/** Statement Store slot allowance for the product's own allowance account. */\n{\n tag: \"StatementStoreAllowance\";\n value?: undefined;\n}\n/** Bulletin chain slot allowance for the product's own allowance account. */\n | {\n tag: \"BulletinAllowance\";\n value?: undefined;\n}\n/**\n * Pre-warmed PGAS balance for the smart-contract account at the given\n * derivation index.\n */\n | {\n tag: \"SmartContractAllowance\";\n value: number;\n}\n/** Permission to sign on the product's behalf without per-call user prompts. */\n | {\n tag: \"AutoSigning\";\n value?: undefined;\n};\nexport const AllocatableResource: Codec<AllocatableResource>;\n/** Outcome of allocating a single resource (RFC 0010). */\nexport type AllocationOutcome = \"Allocated\" | \"Rejected\" | \"NotAvailable\";\nexport const AllocationOutcome: Codec<AllocationOutcome>;\n/** Layout arrangement (like CSS flexbox `justify-content`). */\nexport type Arrangement = \"Start\" | \"End\" | \"Center\" | \"SpaceBetween\" | \"SpaceAround\" | \"SpaceEvenly\";\nexport const Arrangement: Codec<Arrangement>;\n/** Background styling. */\nexport interface Background {\n /** Background color. */\n color: ColorToken;\n /** Background shape. */\n shape?: Shape;\n}\nexport const Background: Codec<Background>;\n/**\n * Balance amount for payment operations. Interpreted according to the host's\n * single fixed payment asset (e.g. pUSD).\n */\nexport type Balance = bigint;\nexport const Balance: Codec<Balance>;\n/** Border styling. */\nexport interface BorderStyle {\n /** Border width. */\n width: Size;\n /** Border color. */\n color: ColorToken;\n /** Border shape. */\n shape?: Shape;\n}\nexport const BorderStyle: Codec<BorderStyle>;\n/** Properties for a [`CustomRendererNode::Box`] container. */\nexport interface BoxProps {\n /** Content alignment within the box. */\n contentAlignment?: ContentAlignment;\n}\nexport const BoxProps: Codec<BoxProps>;\n/** Properties for a [`CustomRendererNode::Button`]. */\nexport interface ButtonProps {\n /** Button label text. */\n text: string;\n /** Button style variant. */\n variant?: ButtonVariant;\n /** Whether the button is enabled. Absent leaves the default to the host. */\n enabled: boolean | undefined;\n /** Whether the button shows a loading state. Absent leaves the default to the host. */\n loading: boolean | undefined;\n /** Action identifier triggered on click. */\n clickAction?: string;\n}\nexport const ButtonProps: Codec<ButtonProps>;\n/** Button style variants. */\nexport type ButtonVariant = \"Primary\" | \"Secondary\" | \"Text\";\nexport const ButtonVariant: Codec<ButtonVariant>;\n/** A clickable action button in a chat message. */\nexport interface ChatAction {\n /** Action identifier. */\n actionId: string;\n /** Button label. */\n title: string;\n}\nexport const ChatAction: Codec<ChatAction>;\n/** Layout for action buttons. */\nexport type ChatActionLayout = \"Column\" | \"Grid\";\nexport const ChatActionLayout: Codec<ChatActionLayout>;\n/** Payload of a received chat action. */\nexport type ChatActionPayload = \n/** A peer posted a message. */\n{\n tag: \"MessagePosted\";\n value: ChatMessageContent;\n}\n/** A user triggered an action button. */\n | {\n tag: \"ActionTriggered\";\n value: ActionTrigger;\n}\n/** A user issued a command. */\n | {\n tag: \"Command\";\n value: ChatCommand;\n};\nexport const ChatActionPayload: Codec<ChatActionPayload>;\n/** A set of action buttons with optional text. */\nexport interface ChatActions {\n /** Optional message text. */\n text?: string;\n /** List of action buttons. */\n actions: Array<ChatAction>;\n /** `Column` or `Grid` layout. */\n layout: ChatActionLayout;\n}\nexport const ChatActions: Codec<ChatActions>;\n/** Whether the bot was newly registered or already existed. */\nexport type ChatBotRegistrationStatus = \"New\" | \"Exists\";\nexport const ChatBotRegistrationStatus: Codec<ChatBotRegistrationStatus>;\n/** A slash command from a chat user. */\nexport interface ChatCommand {\n /** Command name. */\n command: string;\n /** Command arguments. */\n payload: string;\n}\nexport const ChatCommand: Codec<ChatCommand>;\n/** A custom message with application-defined type and binary payload. */\nexport interface ChatCustomMessage {\n /** Application-defined type key. */\n messageType: string;\n /** Binary payload. */\n payload: HexString;\n}\nexport const ChatCustomMessage: Codec<ChatCustomMessage>;\n/** A file attachment in a chat message. */\nexport interface ChatFile {\n /** File download URL. */\n url: string;\n /** File name. */\n fileName: string;\n /** MIME type. */\n mimeType: string;\n /** File size in bytes. */\n sizeBytes: bigint;\n /** Optional caption text. */\n text?: string;\n}\nexport const ChatFile: Codec<ChatFile>;\n/** A media attachment. */\nexport interface ChatMedia {\n /** Media URL. */\n url: string;\n}\nexport const ChatMedia: Codec<ChatMedia>;\n/** Content of a chat message -- one of several types. */\nexport type ChatMessageContent = \n/** Plain text message. */\n{\n tag: \"Text\";\n value: {\n text: string;\n };\n}\n/** Rich text with media. */\n | {\n tag: \"RichText\";\n value: ChatRichText;\n}\n/** Action button set. */\n | {\n tag: \"Actions\";\n value: ChatActions;\n}\n/** File attachment. */\n | {\n tag: \"File\";\n value: ChatFile;\n}\n/** Emoji reaction. */\n | {\n tag: \"Reaction\";\n value: ChatReaction;\n}\n/** Reaction removal. */\n | {\n tag: \"ReactionRemoved\";\n value: ChatReaction;\n}\n/** Custom message. */\n | {\n tag: \"Custom\";\n value: ChatCustomMessage;\n};\nexport const ChatMessageContent: Codec<ChatMessageContent>;\n/** A reaction to a chat message. */\nexport interface ChatReaction {\n /** Message being reacted to. */\n messageId: string;\n /** Emoji reaction. */\n emoji: string;\n}\nexport const ChatReaction: Codec<ChatReaction>;\n/** Rich text message with optional media. */\nexport interface ChatRichText {\n /** Optional text content. */\n text?: string;\n /** Attached media items. */\n media: Array<ChatMedia>;\n}\nexport const ChatRichText: Codec<ChatRichText>;\n/** A chat room the product participates in. */\nexport interface ChatRoom {\n /** Room identifier. */\n roomId: string;\n /** `RoomHost` or `Bot`. */\n participatingAs: ChatRoomParticipation;\n}\nexport const ChatRoom: Codec<ChatRoom>;\n/** How the product participates in a chat room. */\nexport type ChatRoomParticipation = \"RoomHost\" | \"Bot\";\nexport const ChatRoomParticipation: Codec<ChatRoomParticipation>;\n/** Whether the room was newly created or already existed. */\nexport type ChatRoomRegistrationStatus = \"New\" | \"Exists\";\nexport const ChatRoomRegistrationStatus: Codec<ChatRoomRegistrationStatus>;\n/** Semantic color tokens for theming. */\nexport type ColorToken = \"FgPrimary\" | \"FgSecondary\" | \"FgTertiary\" | \"BgSurfaceMain\" | \"BgSurfaceContainer\" | \"BgSurfaceNested\" | \"FgSuccess\" | \"FgError\" | \"FgWarning\";\nexport const ColorToken: Codec<ColorToken>;\n/** Properties for a [`CustomRendererNode::Column`] layout. */\nexport interface ColumnProps {\n /** Horizontal alignment of children. */\n horizontalAlignment?: HorizontalAlignment;\n /** Vertical arrangement of children. */\n verticalArrangement?: Arrangement;\n}\nexport const ColumnProps: Codec<ColumnProps>;\n/**\n * A component in the custom renderer UI tree, combining modifiers, typed props,\n * and recursive children.\n */\nexport interface Component<P> {\n /** Layout and styling modifiers. */\n modifiers: Array<Modifier>;\n /** Component-specific properties. */\n props: P;\n /** Child nodes. */\n children: Array<CustomRendererNode>;\n}\n/** Builds a codec for renderer components parameterized by the codec of their\n * `props` payload. */\nexport function Component<P>(pCodec: Codec<P>): Codec<Component<P>>;\n/** 2D content alignment. */\nexport type ContentAlignment = \"TopStart\" | \"TopCenter\" | \"TopEnd\" | \"CenterStart\" | \"Center\" | \"CenterEnd\" | \"BottomStart\" | \"BottomCenter\" | \"BottomEnd\";\nexport const ContentAlignment: Codec<ContentAlignment>;\n/**\n * A node in the custom renderer UI tree. Can be nested recursively via the\n * `children` field of each [`Component`].\n */\nexport type CustomRendererNode = \n/** Empty node. */\n{\n tag: \"Nil\";\n value?: undefined;\n}\n/** Raw text string. */\n | {\n tag: \"String\";\n value: {\n text: string;\n };\n}\n/** Generic container. */\n | {\n tag: \"Box\";\n value: Component<BoxProps>;\n}\n/** Vertical layout. */\n | {\n tag: \"Column\";\n value: Component<ColumnProps>;\n}\n/** Horizontal layout. */\n | {\n tag: \"Row\";\n value: Component<RowProps>;\n}\n/** Flexible space. */\n | {\n tag: \"Spacer\";\n value: Component<undefined>;\n}\n/** Text display. */\n | {\n tag: \"Text\";\n value: Component<TextProps>;\n}\n/** Interactive button. */\n | {\n tag: \"Button\";\n value: Component<ButtonProps>;\n}\n/** Text input. */\n | {\n tag: \"TextField\";\n value: Component<TextFieldProps>;\n};\nexport const CustomRendererNode: Codec<CustomRendererNode>;\n/**\n * CSS-like dimensions: (top, end, bottom, start).\n * Bottom defaults to top, start defaults to end when `None`.\n */\nexport interface Dimensions {\n /** Top dimension. */\n top: Size;\n /** End dimension. */\n end: Size;\n /** Bottom dimension. Defaults to top when absent. */\n bottom?: Size;\n /** Start dimension. Defaults to end when absent. */\n start?: Size;\n}\nexport const Dimensions: Codec<Dimensions>;\n/**\n * Generic error payload carrying a human-readable reason string. Used by many\n * methods as a catch-all error type.\n */\nexport interface GenericError {\n reason: string;\n}\nexport const GenericError: Codec<GenericError>;\n/** A 32-byte chain genesis hash used to identify the target chain. */\nexport type GenesisHash = HexString;\nexport const GenesisHash: Codec<GenesisHash>;\n/** Horizontal alignment options. */\nexport type HorizontalAlignment = \"Start\" | \"Center\" | \"End\";\nexport const HorizontalAlignment: Codec<HorizontalAlignment>;\n/** Versioned envelope for [`HostAccountConnectionStatusSubscribeItem`]. */\nexport type VersionedHostAccountConnectionStatusSubscribeItem = {\n tag: \"V1\";\n value: HostAccountConnectionStatusSubscribeItem;\n};\nexport const VersionedHostAccountConnectionStatusSubscribeItem: Codec<VersionedHostAccountConnectionStatusSubscribeItem>;\n/** Versioned envelope for [`HostAccountCreateProofError`]. */\nexport type VersionedHostAccountCreateProofError = {\n tag: \"V1\";\n value: HostAccountCreateProofError;\n};\nexport const VersionedHostAccountCreateProofError: Codec<VersionedHostAccountCreateProofError>;\n/** Versioned envelope for [`HostAccountCreateProofRequest`]. */\nexport type VersionedHostAccountCreateProofRequest = {\n tag: \"V1\";\n value: HostAccountCreateProofRequest;\n};\nexport const VersionedHostAccountCreateProofRequest: Codec<VersionedHostAccountCreateProofRequest>;\n/** Versioned envelope for [`HostAccountCreateProofResponse`]. */\nexport type VersionedHostAccountCreateProofResponse = {\n tag: \"V1\";\n value: HostAccountCreateProofResponse;\n};\nexport const VersionedHostAccountCreateProofResponse: Codec<VersionedHostAccountCreateProofResponse>;\n/** Versioned envelope for [`HostAccountGetAliasError`]. */\nexport type VersionedHostAccountGetAliasError = {\n tag: \"V1\";\n value: HostAccountGetError;\n};\nexport const VersionedHostAccountGetAliasError: Codec<VersionedHostAccountGetAliasError>;\n/** Versioned envelope for [`HostAccountGetAliasRequest`]. */\nexport type VersionedHostAccountGetAliasRequest = {\n tag: \"V1\";\n value: HostAccountGetAliasRequest;\n};\nexport const VersionedHostAccountGetAliasRequest: Codec<VersionedHostAccountGetAliasRequest>;\n/** Versioned envelope for [`HostAccountGetAliasResponse`]. */\nexport type VersionedHostAccountGetAliasResponse = {\n tag: \"V1\";\n value: HostAccountGetAliasResponse;\n};\nexport const VersionedHostAccountGetAliasResponse: Codec<VersionedHostAccountGetAliasResponse>;\n/** Versioned envelope for [`HostAccountGetError`]. */\nexport type VersionedHostAccountGetError = {\n tag: \"V1\";\n value: HostAccountGetError;\n};\nexport const VersionedHostAccountGetError: Codec<VersionedHostAccountGetError>;\n/** Versioned envelope for [`HostAccountGetRequest`]. */\nexport type VersionedHostAccountGetRequest = {\n tag: \"V1\";\n value: HostAccountGetRequest;\n};\nexport const VersionedHostAccountGetRequest: Codec<VersionedHostAccountGetRequest>;\n/** Versioned envelope for [`HostAccountGetResponse`]. */\nexport type VersionedHostAccountGetResponse = {\n tag: \"V1\";\n value: HostAccountGetResponse;\n};\nexport const VersionedHostAccountGetResponse: Codec<VersionedHostAccountGetResponse>;\n/** Versioned envelope for [`HostChatActionSubscribeItem`]. */\nexport type VersionedHostChatActionSubscribeItem = {\n tag: \"V1\";\n value: HostChatActionSubscribeItem;\n};\nexport const VersionedHostChatActionSubscribeItem: Codec<VersionedHostChatActionSubscribeItem>;\n/** Versioned envelope for [`HostChatCreateRoomError`]. */\nexport type VersionedHostChatCreateRoomError = {\n tag: \"V1\";\n value: HostChatCreateRoomError;\n};\nexport const VersionedHostChatCreateRoomError: Codec<VersionedHostChatCreateRoomError>;\n/** Versioned envelope for [`HostChatCreateRoomRequest`]. */\nexport type VersionedHostChatCreateRoomRequest = {\n tag: \"V1\";\n value: HostChatCreateRoomRequest;\n};\nexport const VersionedHostChatCreateRoomRequest: Codec<VersionedHostChatCreateRoomRequest>;\n/** Versioned envelope for [`HostChatCreateRoomResponse`]. */\nexport type VersionedHostChatCreateRoomResponse = {\n tag: \"V1\";\n value: HostChatCreateRoomResponse;\n};\nexport const VersionedHostChatCreateRoomResponse: Codec<VersionedHostChatCreateRoomResponse>;\n/** Versioned envelope for [`HostChatListSubscribeItem`]. */\nexport type VersionedHostChatListSubscribeItem = {\n tag: \"V1\";\n value: HostChatListSubscribeItem;\n};\nexport const VersionedHostChatListSubscribeItem: Codec<VersionedHostChatListSubscribeItem>;\n/** Versioned envelope for [`HostChatPostMessageError`]. */\nexport type VersionedHostChatPostMessageError = {\n tag: \"V1\";\n value: HostChatPostMessageError;\n};\nexport const VersionedHostChatPostMessageError: Codec<VersionedHostChatPostMessageError>;\n/** Versioned envelope for [`HostChatPostMessageRequest`]. */\nexport type VersionedHostChatPostMessageRequest = {\n tag: \"V1\";\n value: HostChatPostMessageRequest;\n};\nexport const VersionedHostChatPostMessageRequest: Codec<VersionedHostChatPostMessageRequest>;\n/** Versioned envelope for [`HostChatPostMessageResponse`]. */\nexport type VersionedHostChatPostMessageResponse = {\n tag: \"V1\";\n value: HostChatPostMessageResponse;\n};\nexport const VersionedHostChatPostMessageResponse: Codec<VersionedHostChatPostMessageResponse>;\n/** Versioned envelope for [`HostChatRegisterBotError`]. */\nexport type VersionedHostChatRegisterBotError = {\n tag: \"V1\";\n value: HostChatRegisterBotError;\n};\nexport const VersionedHostChatRegisterBotError: Codec<VersionedHostChatRegisterBotError>;\n/** Versioned envelope for [`HostChatRegisterBotRequest`]. */\nexport type VersionedHostChatRegisterBotRequest = {\n tag: \"V1\";\n value: HostChatRegisterBotRequest;\n};\nexport const VersionedHostChatRegisterBotRequest: Codec<VersionedHostChatRegisterBotRequest>;\n/** Versioned envelope for [`HostChatRegisterBotResponse`]. */\nexport type VersionedHostChatRegisterBotResponse = {\n tag: \"V1\";\n value: HostChatRegisterBotResponse;\n};\nexport const VersionedHostChatRegisterBotResponse: Codec<VersionedHostChatRegisterBotResponse>;\n/** Versioned envelope for [`HostCreateTransactionError`]. */\nexport type VersionedHostCreateTransactionError = {\n tag: \"V1\";\n value: HostCreateTransactionError;\n};\nexport const VersionedHostCreateTransactionError: Codec<VersionedHostCreateTransactionError>;\n/** Versioned envelope for [`HostCreateTransactionRequest`]. */\nexport type VersionedHostCreateTransactionRequest = {\n tag: \"V1\";\n value: ProductAccountTxPayload;\n};\nexport const VersionedHostCreateTransactionRequest: Codec<VersionedHostCreateTransactionRequest>;\n/** Versioned envelope for [`HostCreateTransactionResponse`]. */\nexport type VersionedHostCreateTransactionResponse = {\n tag: \"V1\";\n value: HostCreateTransactionResponse;\n};\nexport const VersionedHostCreateTransactionResponse: Codec<VersionedHostCreateTransactionResponse>;\n/** Versioned envelope for [`HostCreateTransactionWithLegacyAccountError`]. */\nexport type VersionedHostCreateTransactionWithLegacyAccountError = {\n tag: \"V1\";\n value: HostCreateTransactionError;\n};\nexport const VersionedHostCreateTransactionWithLegacyAccountError: Codec<VersionedHostCreateTransactionWithLegacyAccountError>;\n/** Versioned envelope for [`HostCreateTransactionWithLegacyAccountRequest`]. */\nexport type VersionedHostCreateTransactionWithLegacyAccountRequest = {\n tag: \"V1\";\n value: LegacyAccountTxPayload;\n};\nexport const VersionedHostCreateTransactionWithLegacyAccountRequest: Codec<VersionedHostCreateTransactionWithLegacyAccountRequest>;\n/** Versioned envelope for [`HostCreateTransactionWithLegacyAccountResponse`]. */\nexport type VersionedHostCreateTransactionWithLegacyAccountResponse = {\n tag: \"V1\";\n value: HostCreateTransactionWithLegacyAccountResponse;\n};\nexport const VersionedHostCreateTransactionWithLegacyAccountResponse: Codec<VersionedHostCreateTransactionWithLegacyAccountResponse>;\n/** Versioned envelope for [`HostDeriveEntropyError`]. */\nexport type VersionedHostDeriveEntropyError = {\n tag: \"V1\";\n value: HostDeriveEntropyError;\n};\nexport const VersionedHostDeriveEntropyError: Codec<VersionedHostDeriveEntropyError>;\n/** Versioned envelope for [`HostDeriveEntropyRequest`]. */\nexport type VersionedHostDeriveEntropyRequest = {\n tag: \"V1\";\n value: HostDeriveEntropyRequest;\n};\nexport const VersionedHostDeriveEntropyRequest: Codec<VersionedHostDeriveEntropyRequest>;\n/** Versioned envelope for [`HostDeriveEntropyResponse`]. */\nexport type VersionedHostDeriveEntropyResponse = {\n tag: \"V1\";\n value: HostDeriveEntropyResponse;\n};\nexport const VersionedHostDeriveEntropyResponse: Codec<VersionedHostDeriveEntropyResponse>;\n/** Versioned envelope for [`HostDevicePermissionError`]. */\nexport type VersionedHostDevicePermissionError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedHostDevicePermissionError: Codec<VersionedHostDevicePermissionError>;\n/** Versioned envelope for [`HostDevicePermissionRequest`]. */\nexport type VersionedHostDevicePermissionRequest = {\n tag: \"V1\";\n value: HostDevicePermissionRequest;\n};\nexport const VersionedHostDevicePermissionRequest: Codec<VersionedHostDevicePermissionRequest>;\n/** Versioned envelope for [`HostDevicePermissionResponse`]. */\nexport type VersionedHostDevicePermissionResponse = {\n tag: \"V1\";\n value: HostDevicePermissionResponse;\n};\nexport const VersionedHostDevicePermissionResponse: Codec<VersionedHostDevicePermissionResponse>;\n/** Versioned envelope for [`HostFeatureSupportedError`]. */\nexport type VersionedHostFeatureSupportedError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedHostFeatureSupportedError: Codec<VersionedHostFeatureSupportedError>;\n/** Versioned envelope for [`HostFeatureSupportedRequest`]. */\nexport type VersionedHostFeatureSupportedRequest = {\n tag: \"V1\";\n value: HostFeatureSupportedRequest;\n};\nexport const VersionedHostFeatureSupportedRequest: Codec<VersionedHostFeatureSupportedRequest>;\n/** Versioned envelope for [`HostFeatureSupportedResponse`]. */\nexport type VersionedHostFeatureSupportedResponse = {\n tag: \"V1\";\n value: HostFeatureSupportedResponse;\n};\nexport const VersionedHostFeatureSupportedResponse: Codec<VersionedHostFeatureSupportedResponse>;\n/** Versioned envelope for [`HostGetLegacyAccountsError`]. */\nexport type VersionedHostGetLegacyAccountsError = {\n tag: \"V1\";\n value: HostAccountGetError;\n};\nexport const VersionedHostGetLegacyAccountsError: Codec<VersionedHostGetLegacyAccountsError>;\n/** Versioned envelope for [`HostGetLegacyAccountsRequest`]. */\nexport type VersionedHostGetLegacyAccountsRequest = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedHostGetLegacyAccountsRequest: Codec<VersionedHostGetLegacyAccountsRequest>;\n/** Versioned envelope for [`HostGetLegacyAccountsResponse`]. */\nexport type VersionedHostGetLegacyAccountsResponse = {\n tag: \"V1\";\n value: HostGetLegacyAccountsResponse;\n};\nexport const VersionedHostGetLegacyAccountsResponse: Codec<VersionedHostGetLegacyAccountsResponse>;\n/** Versioned envelope for [`HostGetUserIdError`]. */\nexport type VersionedHostGetUserIdError = {\n tag: \"V1\";\n value: HostGetUserIdError;\n};\nexport const VersionedHostGetUserIdError: Codec<VersionedHostGetUserIdError>;\n/** Versioned envelope for [`HostGetUserIdRequest`]. */\nexport type VersionedHostGetUserIdRequest = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedHostGetUserIdRequest: Codec<VersionedHostGetUserIdRequest>;\n/** Versioned envelope for [`HostGetUserIdResponse`]. */\nexport type VersionedHostGetUserIdResponse = {\n tag: \"V1\";\n value: HostGetUserIdResponse;\n};\nexport const VersionedHostGetUserIdResponse: Codec<VersionedHostGetUserIdResponse>;\n/** Versioned envelope for [`HostHandshakeError`]. */\nexport type VersionedHostHandshakeError = {\n tag: \"V1\";\n value: HostHandshakeError;\n};\nexport const VersionedHostHandshakeError: Codec<VersionedHostHandshakeError>;\n/** Versioned envelope for [`HostHandshakeRequest`]. */\nexport type VersionedHostHandshakeRequest = {\n tag: \"V1\";\n value: HostHandshakeRequest;\n};\nexport const VersionedHostHandshakeRequest: Codec<VersionedHostHandshakeRequest>;\n/** Versioned envelope for [`HostHandshakeResponse`]. */\nexport type VersionedHostHandshakeResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedHostHandshakeResponse: Codec<VersionedHostHandshakeResponse>;\n/** Versioned envelope for [`HostLocalStorageClearError`]. */\nexport type VersionedHostLocalStorageClearError = {\n tag: \"V1\";\n value: HostLocalStorageReadError;\n};\nexport const VersionedHostLocalStorageClearError: Codec<VersionedHostLocalStorageClearError>;\n/** Versioned envelope for [`HostLocalStorageClearRequest`]. */\nexport type VersionedHostLocalStorageClearRequest = {\n tag: \"V1\";\n value: HostLocalStorageClearRequest;\n};\nexport const VersionedHostLocalStorageClearRequest: Codec<VersionedHostLocalStorageClearRequest>;\n/** Versioned envelope for [`HostLocalStorageClearResponse`]. */\nexport type VersionedHostLocalStorageClearResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedHostLocalStorageClearResponse: Codec<VersionedHostLocalStorageClearResponse>;\n/** Versioned envelope for [`HostLocalStorageReadError`]. */\nexport type VersionedHostLocalStorageReadError = {\n tag: \"V1\";\n value: HostLocalStorageReadError;\n};\nexport const VersionedHostLocalStorageReadError: Codec<VersionedHostLocalStorageReadError>;\n/** Versioned envelope for [`HostLocalStorageReadRequest`]. */\nexport type VersionedHostLocalStorageReadRequest = {\n tag: \"V1\";\n value: HostLocalStorageReadRequest;\n};\nexport const VersionedHostLocalStorageReadRequest: Codec<VersionedHostLocalStorageReadRequest>;\n/** Versioned envelope for [`HostLocalStorageReadResponse`]. */\nexport type VersionedHostLocalStorageReadResponse = {\n tag: \"V1\";\n value: HostLocalStorageReadResponse;\n};\nexport const VersionedHostLocalStorageReadResponse: Codec<VersionedHostLocalStorageReadResponse>;\n/** Versioned envelope for [`HostLocalStorageWriteError`]. */\nexport type VersionedHostLocalStorageWriteError = {\n tag: \"V1\";\n value: HostLocalStorageReadError;\n};\nexport const VersionedHostLocalStorageWriteError: Codec<VersionedHostLocalStorageWriteError>;\n/** Versioned envelope for [`HostLocalStorageWriteRequest`]. */\nexport type VersionedHostLocalStorageWriteRequest = {\n tag: \"V1\";\n value: HostLocalStorageWriteRequest;\n};\nexport const VersionedHostLocalStorageWriteRequest: Codec<VersionedHostLocalStorageWriteRequest>;\n/** Versioned envelope for [`HostLocalStorageWriteResponse`]. */\nexport type VersionedHostLocalStorageWriteResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedHostLocalStorageWriteResponse: Codec<VersionedHostLocalStorageWriteResponse>;\n/** Versioned envelope for [`HostNavigateToError`]. */\nexport type VersionedHostNavigateToError = {\n tag: \"V1\";\n value: HostNavigateToError;\n};\nexport const VersionedHostNavigateToError: Codec<VersionedHostNavigateToError>;\n/** Versioned envelope for [`HostNavigateToRequest`]. */\nexport type VersionedHostNavigateToRequest = {\n tag: \"V1\";\n value: HostNavigateToRequest;\n};\nexport const VersionedHostNavigateToRequest: Codec<VersionedHostNavigateToRequest>;\n/** Versioned envelope for [`HostNavigateToResponse`]. */\nexport type VersionedHostNavigateToResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedHostNavigateToResponse: Codec<VersionedHostNavigateToResponse>;\n/** Versioned envelope for [`HostPaymentBalanceSubscribeError`]. */\nexport type VersionedHostPaymentBalanceSubscribeError = {\n tag: \"V1\";\n value: HostPaymentBalanceSubscribeError;\n};\nexport const VersionedHostPaymentBalanceSubscribeError: Codec<VersionedHostPaymentBalanceSubscribeError>;\n/** Versioned envelope for [`HostPaymentBalanceSubscribeItem`]. */\nexport type VersionedHostPaymentBalanceSubscribeItem = {\n tag: \"V1\";\n value: HostPaymentBalanceSubscribeItem;\n};\nexport const VersionedHostPaymentBalanceSubscribeItem: Codec<VersionedHostPaymentBalanceSubscribeItem>;\n/** Versioned envelope for [`HostPaymentBalanceSubscribeRequest`]. */\nexport type VersionedHostPaymentBalanceSubscribeRequest = {\n tag: \"V1\";\n value: HostPaymentBalanceSubscribeRequest;\n};\nexport const VersionedHostPaymentBalanceSubscribeRequest: Codec<VersionedHostPaymentBalanceSubscribeRequest>;\n/** Versioned envelope for [`HostPaymentError`]. */\nexport type VersionedHostPaymentError = {\n tag: \"V1\";\n value: HostPaymentError;\n};\nexport const VersionedHostPaymentError: Codec<VersionedHostPaymentError>;\n/** Versioned envelope for [`HostPaymentRequest`]. */\nexport type VersionedHostPaymentRequest = {\n tag: \"V1\";\n value: HostPaymentRequest;\n};\nexport const VersionedHostPaymentRequest: Codec<VersionedHostPaymentRequest>;\n/** Versioned envelope for [`HostPaymentResponse`]. */\nexport type VersionedHostPaymentResponse = {\n tag: \"V1\";\n value: HostPaymentResponse;\n};\nexport const VersionedHostPaymentResponse: Codec<VersionedHostPaymentResponse>;\n/** Versioned envelope for [`HostPaymentStatusSubscribeError`]. */\nexport type VersionedHostPaymentStatusSubscribeError = {\n tag: \"V1\";\n value: HostPaymentStatusSubscribeError;\n};\nexport const VersionedHostPaymentStatusSubscribeError: Codec<VersionedHostPaymentStatusSubscribeError>;\n/** Versioned envelope for [`HostPaymentStatusSubscribeItem`]. */\nexport type VersionedHostPaymentStatusSubscribeItem = {\n tag: \"V1\";\n value: HostPaymentStatusSubscribeItem;\n};\nexport const VersionedHostPaymentStatusSubscribeItem: Codec<VersionedHostPaymentStatusSubscribeItem>;\n/** Versioned envelope for [`HostPaymentStatusSubscribeRequest`]. */\nexport type VersionedHostPaymentStatusSubscribeRequest = {\n tag: \"V1\";\n value: HostPaymentStatusSubscribeRequest;\n};\nexport const VersionedHostPaymentStatusSubscribeRequest: Codec<VersionedHostPaymentStatusSubscribeRequest>;\n/** Versioned envelope for [`HostPaymentTopUpError`]. */\nexport type VersionedHostPaymentTopUpError = {\n tag: \"V1\";\n value: HostPaymentTopUpError;\n};\nexport const VersionedHostPaymentTopUpError: Codec<VersionedHostPaymentTopUpError>;\n/** Versioned envelope for [`HostPaymentTopUpRequest`]. */\nexport type VersionedHostPaymentTopUpRequest = {\n tag: \"V1\";\n value: HostPaymentTopUpRequest;\n};\nexport const VersionedHostPaymentTopUpRequest: Codec<VersionedHostPaymentTopUpRequest>;\n/** Versioned envelope for [`HostPaymentTopUpResponse`]. */\nexport type VersionedHostPaymentTopUpResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedHostPaymentTopUpResponse: Codec<VersionedHostPaymentTopUpResponse>;\n/** Versioned envelope for [`HostPushNotificationCancelError`]. */\nexport type VersionedHostPushNotificationCancelError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedHostPushNotificationCancelError: Codec<VersionedHostPushNotificationCancelError>;\n/** Versioned envelope for [`HostPushNotificationCancelRequest`]. */\nexport type VersionedHostPushNotificationCancelRequest = {\n tag: \"V1\";\n value: HostPushNotificationCancelRequest;\n};\nexport const VersionedHostPushNotificationCancelRequest: Codec<VersionedHostPushNotificationCancelRequest>;\n/** Versioned envelope for [`HostPushNotificationCancelResponse`]. */\nexport type VersionedHostPushNotificationCancelResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedHostPushNotificationCancelResponse: Codec<VersionedHostPushNotificationCancelResponse>;\n/** Versioned envelope for [`HostPushNotificationError`]. */\nexport type VersionedHostPushNotificationError = {\n tag: \"V1\";\n value: HostPushNotificationError;\n};\nexport const VersionedHostPushNotificationError: Codec<VersionedHostPushNotificationError>;\n/** Versioned envelope for [`HostPushNotificationRequest`]. */\nexport type VersionedHostPushNotificationRequest = {\n tag: \"V1\";\n value: HostPushNotificationRequest;\n};\nexport const VersionedHostPushNotificationRequest: Codec<VersionedHostPushNotificationRequest>;\n/** Versioned envelope for [`HostPushNotificationResponse`]. */\nexport type VersionedHostPushNotificationResponse = {\n tag: \"V1\";\n value: HostPushNotificationResponse;\n};\nexport const VersionedHostPushNotificationResponse: Codec<VersionedHostPushNotificationResponse>;\n/** Versioned envelope for [`HostRequestLoginError`]. */\nexport type VersionedHostRequestLoginError = {\n tag: \"V1\";\n value: HostRequestLoginError;\n};\nexport const VersionedHostRequestLoginError: Codec<VersionedHostRequestLoginError>;\n/** Versioned envelope for [`HostRequestLoginRequest`]. */\nexport type VersionedHostRequestLoginRequest = {\n tag: \"V1\";\n value: HostRequestLoginRequest;\n};\nexport const VersionedHostRequestLoginRequest: Codec<VersionedHostRequestLoginRequest>;\n/** Versioned envelope for [`HostRequestLoginResponse`]. */\nexport type VersionedHostRequestLoginResponse = {\n tag: \"V1\";\n value: HostRequestLoginResponse;\n};\nexport const VersionedHostRequestLoginResponse: Codec<VersionedHostRequestLoginResponse>;\n/** Versioned envelope for [`HostRequestResourceAllocationError`]. */\nexport type VersionedHostRequestResourceAllocationError = {\n tag: \"V1\";\n value: ResourceAllocationError;\n};\nexport const VersionedHostRequestResourceAllocationError: Codec<VersionedHostRequestResourceAllocationError>;\n/** Versioned envelope for [`HostRequestResourceAllocationRequest`]. */\nexport type VersionedHostRequestResourceAllocationRequest = {\n tag: \"V1\";\n value: HostRequestResourceAllocationRequest;\n};\nexport const VersionedHostRequestResourceAllocationRequest: Codec<VersionedHostRequestResourceAllocationRequest>;\n/** Versioned envelope for [`HostRequestResourceAllocationResponse`]. */\nexport type VersionedHostRequestResourceAllocationResponse = {\n tag: \"V1\";\n value: HostRequestResourceAllocationResponse;\n};\nexport const VersionedHostRequestResourceAllocationResponse: Codec<VersionedHostRequestResourceAllocationResponse>;\n/**\n * Full Substrate extrinsic signing payload with all fields needed for signature\n * generation.\n */\nexport interface HostSignPayloadData {\n /** Reference block hash. */\n blockHash: HexString;\n /** Reference block number. */\n blockNumber: HexString;\n /** Mortality era encoding. */\n era: HexString;\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** SCALE-encoded call data. */\n method: HexString;\n /** Account nonce. */\n nonce: HexString;\n /** Runtime spec version. */\n specVersion: HexString;\n /** Transaction tip. */\n tip: HexString;\n /** Transaction format version. */\n transactionVersion: HexString;\n /** Extension identifiers. */\n signedExtensions: Array<string>;\n /** Extrinsic version. */\n version: number;\n /** For multi-asset tips. */\n assetId?: HexString;\n /** CheckMetadataHash extension. */\n metadataHash?: HexString;\n /** Metadata mode. */\n mode?: number;\n /** Request signed transaction back. */\n withSignedTransaction?: boolean;\n}\nexport const HostSignPayloadData: Codec<HostSignPayloadData>;\n/** Versioned envelope for [`HostSignPayloadError`]. */\nexport type VersionedHostSignPayloadError = {\n tag: \"V1\";\n value: HostSignPayloadError;\n};\nexport const VersionedHostSignPayloadError: Codec<VersionedHostSignPayloadError>;\n/** Versioned envelope for [`HostSignPayloadRequest`]. */\nexport type VersionedHostSignPayloadRequest = {\n tag: \"V1\";\n value: HostSignPayloadRequest;\n};\nexport const VersionedHostSignPayloadRequest: Codec<VersionedHostSignPayloadRequest>;\n/** Versioned envelope for [`HostSignPayloadResponse`]. */\nexport type VersionedHostSignPayloadResponse = {\n tag: \"V1\";\n value: HostSignPayloadResponse;\n};\nexport const VersionedHostSignPayloadResponse: Codec<VersionedHostSignPayloadResponse>;\n/** Versioned envelope for [`HostSignPayloadWithLegacyAccountError`]. */\nexport type VersionedHostSignPayloadWithLegacyAccountError = {\n tag: \"V1\";\n value: HostSignPayloadError;\n};\nexport const VersionedHostSignPayloadWithLegacyAccountError: Codec<VersionedHostSignPayloadWithLegacyAccountError>;\n/** Versioned envelope for [`HostSignPayloadWithLegacyAccountRequest`]. */\nexport type VersionedHostSignPayloadWithLegacyAccountRequest = {\n tag: \"V1\";\n value: HostSignPayloadWithLegacyAccountRequest;\n};\nexport const VersionedHostSignPayloadWithLegacyAccountRequest: Codec<VersionedHostSignPayloadWithLegacyAccountRequest>;\n/** Versioned envelope for [`HostSignPayloadWithLegacyAccountResponse`]. */\nexport type VersionedHostSignPayloadWithLegacyAccountResponse = {\n tag: \"V1\";\n value: HostSignPayloadResponse;\n};\nexport const VersionedHostSignPayloadWithLegacyAccountResponse: Codec<VersionedHostSignPayloadWithLegacyAccountResponse>;\n/** Versioned envelope for [`HostSignRawError`]. */\nexport type VersionedHostSignRawError = {\n tag: \"V1\";\n value: HostSignPayloadError;\n};\nexport const VersionedHostSignRawError: Codec<VersionedHostSignRawError>;\n/** Versioned envelope for [`HostSignRawRequest`]. */\nexport type VersionedHostSignRawRequest = {\n tag: \"V1\";\n value: HostSignRawRequest;\n};\nexport const VersionedHostSignRawRequest: Codec<VersionedHostSignRawRequest>;\n/** Versioned envelope for [`HostSignRawResponse`]. */\nexport type VersionedHostSignRawResponse = {\n tag: \"V1\";\n value: HostSignPayloadResponse;\n};\nexport const VersionedHostSignRawResponse: Codec<VersionedHostSignRawResponse>;\n/** Versioned envelope for [`HostSignRawWithLegacyAccountError`]. */\nexport type VersionedHostSignRawWithLegacyAccountError = {\n tag: \"V1\";\n value: HostSignPayloadError;\n};\nexport const VersionedHostSignRawWithLegacyAccountError: Codec<VersionedHostSignRawWithLegacyAccountError>;\n/** Versioned envelope for [`HostSignRawWithLegacyAccountRequest`]. */\nexport type VersionedHostSignRawWithLegacyAccountRequest = {\n tag: \"V1\";\n value: HostSignRawWithLegacyAccountRequest;\n};\nexport const VersionedHostSignRawWithLegacyAccountRequest: Codec<VersionedHostSignRawWithLegacyAccountRequest>;\n/** Versioned envelope for [`HostSignRawWithLegacyAccountResponse`]. */\nexport type VersionedHostSignRawWithLegacyAccountResponse = {\n tag: \"V1\";\n value: HostSignPayloadResponse;\n};\nexport const VersionedHostSignRawWithLegacyAccountResponse: Codec<VersionedHostSignRawWithLegacyAccountResponse>;\n/** Versioned envelope for [`HostThemeSubscribeItem`]. */\nexport type VersionedHostThemeSubscribeItem = {\n tag: \"V1\";\n value: HostThemeSubscribeItem;\n};\nexport const VersionedHostThemeSubscribeItem: Codec<VersionedHostThemeSubscribeItem>;\n/**\n * A user-imported (legacy) account: public key plus an optional user-chosen\n * display name.\n *\n * Returned by [`HostGetLegacyAccountsResponse`]. Distinct from\n * [`ProductAccount`], which is protocol-derived and never carries a label.\n */\nexport interface LegacyAccount {\n /** The account public key (variable-length bytes). */\n publicKey: HexString;\n /** Optional user-chosen display name. */\n name?: string;\n}\nexport const LegacyAccount: Codec<LegacyAccount>;\n/**\n * Transaction payload for a legacy (non-product) account.\n *\n * Identical to [`ProductAccountTxPayload`] except the signer is a raw\n * 32-byte [`AccountId`].\n */\nexport interface LegacyAccountTxPayload {\n /** Raw 32-byte public key of the legacy account. */\n signer: AccountId;\n /** Chain where the transaction will execute. */\n genesisHash: GenesisHash;\n /** SCALE-encoded Call data. */\n callData: HexString;\n /** Transaction extensions supplied by the caller. */\n extensions: Array<TxPayloadExtension>;\n /** 0 for Extrinsic V4, runtime-supported value for V5. */\n txExtVersion: number;\n}\nexport const LegacyAccountTxPayload: Codec<LegacyAccountTxPayload>;\n/** Layout and styling modifiers applied to custom renderer components. */\nexport type Modifier = \n/** Outer spacing. */\n{\n tag: \"Margin\";\n value: Dimensions;\n}\n/** Inner spacing. */\n | {\n tag: \"Padding\";\n value: Dimensions;\n}\n/** Background fill. */\n | {\n tag: \"Background\";\n value: Background;\n}\n/** Border style. */\n | {\n tag: \"Border\";\n value: BorderStyle;\n}\n/** Fixed height. */\n | {\n tag: \"Height\";\n value: {\n height: Size;\n };\n}\n/** Fixed width. */\n | {\n tag: \"Width\";\n value: {\n width: Size;\n };\n}\n/** Minimum width. */\n | {\n tag: \"MinWidth\";\n value: {\n width: Size;\n };\n}\n/** Minimum height. */\n | {\n tag: \"MinHeight\";\n value: {\n height: Size;\n };\n}\n/** Fill available width. */\n | {\n tag: \"FillWidth\";\n value: {\n enabled: boolean;\n };\n}\n/** Fill available height. */\n | {\n tag: \"FillHeight\";\n value: {\n enabled: boolean;\n };\n};\nexport const Modifier: Codec<Modifier>;\n/** Opaque identifier for a push notification, unique per product. */\nexport type NotificationId = number;\nexport const NotificationId: Codec<NotificationId>;\nexport type OperationStartedResult = {\n tag: \"Started\";\n value: {\n operationId: string;\n };\n} | {\n tag: \"LimitReached\";\n value?: undefined;\n};\nexport const OperationStartedResult: Codec<OperationStartedResult>;\n/** Identifier selecting a product payment purse. */\nexport type PaymentPurseId = number;\nexport const PaymentPurseId: Codec<PaymentPurseId>;\n/**\n * Source for a payment top-up operation.\n *\n * See [RFC 0006].\n *\n * [RFC 0006]: https://github.com/paritytech/triangle-js-sdks/pull/94\n */\nexport type PaymentTopUpSource = \n/** Fund from one of the calling product's scoped accounts. */\n{\n tag: \"ProductAccount\";\n value: {\n derivationIndex: number;\n };\n}\n/**\n * Fund from a one-time account represented by its private key. This is a\n * standard account holding public funds, not a coin key.\n */\n | {\n tag: \"PrivateKey\";\n value: {\n sr25519SecretKey: HexString;\n };\n}\n/**\n * Fund directly from coin secret keys. Each key is an sr25519 secret\n * controlling a single coin.\n */\n | {\n tag: \"Coins\";\n value: {\n sr25519SecretKeys: Array<HexString>;\n };\n};\nexport const PaymentTopUpSource: Codec<PaymentTopUpSource>;\n/** Preimage submission error. */\nexport type PreimageSubmitError = \n/** Catch-all. */\n{\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const PreimageSubmitError: Codec<PreimageSubmitError>;\n/** A product account: public key only, no display name. */\nexport interface ProductAccount {\n /** The account public key (variable-length bytes). */\n publicKey: HexString;\n}\nexport const ProductAccount: Codec<ProductAccount>;\n/**\n * Identifies a product-specific account by combining a dotNS domain name with a\n * derivation index.\n */\nexport interface ProductAccountId {\n /** A dotNS domain name identifier (e.g., `\"my-product.dot\"`). */\n dotNsIdentifier: string;\n /** Key derivation index for generating product-specific accounts. */\n derivationIndex: number;\n}\nexport const ProductAccountId: Codec<ProductAccountId>;\n/**\n * Transaction payload for a product account.\n *\n * Contains everything the host needs to construct a signed extrinsic.\n * The signer is a [`ProductAccountId`]; the host resolves the\n * corresponding key pair through its account management layer.\n */\nexport interface ProductAccountTxPayload {\n /** Product account that will sign the transaction. */\n signer: ProductAccountId;\n /** Chain where the transaction will execute. */\n genesisHash: GenesisHash;\n /** SCALE-encoded Call data. */\n callData: HexString;\n /** Transaction extensions supplied by the caller. */\n extensions: Array<TxPayloadExtension>;\n /** 0 for Extrinsic V4, runtime-supported value for V5. */\n txExtVersion: number;\n}\nexport const ProductAccountTxPayload: Codec<ProductAccountTxPayload>;\n/** Versioned envelope for [`ProductChatCustomMessageRenderSubscribeItem`]. */\nexport type VersionedProductChatCustomMessageRenderSubscribeItem = {\n tag: \"V1\";\n value: CustomRendererNode;\n};\nexport const VersionedProductChatCustomMessageRenderSubscribeItem: Codec<VersionedProductChatCustomMessageRenderSubscribeItem>;\n/** Versioned envelope for [`ProductChatCustomMessageRenderSubscribeRequest`]. */\nexport type VersionedProductChatCustomMessageRenderSubscribeRequest = {\n tag: \"V1\";\n value: ProductChatCustomMessageRenderSubscribeRequest;\n};\nexport const VersionedProductChatCustomMessageRenderSubscribeRequest: Codec<VersionedProductChatCustomMessageRenderSubscribeRequest>;\n/** Raw data to sign -- either binary bytes or a string message. */\nexport type RawPayload = \n/** Raw binary data to sign. */\n{\n tag: \"Bytes\";\n value: {\n bytes: HexString;\n };\n}\n/** String message to sign. */\n | {\n tag: \"Payload\";\n value: {\n payload: string;\n };\n};\nexport const RawPayload: Codec<RawPayload>;\n/** Versioned envelope for [`RemoteChainHeadBodyError`]. */\nexport type VersionedRemoteChainHeadBodyError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainHeadBodyError: Codec<VersionedRemoteChainHeadBodyError>;\n/** Versioned envelope for [`RemoteChainHeadBodyRequest`]. */\nexport type VersionedRemoteChainHeadBodyRequest = {\n tag: \"V1\";\n value: RemoteChainHeadBodyRequest;\n};\nexport const VersionedRemoteChainHeadBodyRequest: Codec<VersionedRemoteChainHeadBodyRequest>;\n/** Versioned envelope for [`RemoteChainHeadBodyResponse`]. */\nexport type VersionedRemoteChainHeadBodyResponse = {\n tag: \"V1\";\n value: RemoteChainHeadBodyResponse;\n};\nexport const VersionedRemoteChainHeadBodyResponse: Codec<VersionedRemoteChainHeadBodyResponse>;\n/** Versioned envelope for [`RemoteChainHeadCallError`]. */\nexport type VersionedRemoteChainHeadCallError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainHeadCallError: Codec<VersionedRemoteChainHeadCallError>;\n/** Versioned envelope for [`RemoteChainHeadCallRequest`]. */\nexport type VersionedRemoteChainHeadCallRequest = {\n tag: \"V1\";\n value: RemoteChainHeadCallRequest;\n};\nexport const VersionedRemoteChainHeadCallRequest: Codec<VersionedRemoteChainHeadCallRequest>;\n/** Versioned envelope for [`RemoteChainHeadCallResponse`]. */\nexport type VersionedRemoteChainHeadCallResponse = {\n tag: \"V1\";\n value: RemoteChainHeadCallResponse;\n};\nexport const VersionedRemoteChainHeadCallResponse: Codec<VersionedRemoteChainHeadCallResponse>;\n/** Versioned envelope for [`RemoteChainHeadContinueError`]. */\nexport type VersionedRemoteChainHeadContinueError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainHeadContinueError: Codec<VersionedRemoteChainHeadContinueError>;\n/** Versioned envelope for [`RemoteChainHeadContinueRequest`]. */\nexport type VersionedRemoteChainHeadContinueRequest = {\n tag: \"V1\";\n value: RemoteChainHeadContinueRequest;\n};\nexport const VersionedRemoteChainHeadContinueRequest: Codec<VersionedRemoteChainHeadContinueRequest>;\n/** Versioned envelope for [`RemoteChainHeadContinueResponse`]. */\nexport type VersionedRemoteChainHeadContinueResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedRemoteChainHeadContinueResponse: Codec<VersionedRemoteChainHeadContinueResponse>;\n/** Versioned envelope for [`RemoteChainHeadFollowItem`]. */\nexport type VersionedRemoteChainHeadFollowItem = {\n tag: \"V1\";\n value: RemoteChainHeadFollowItem;\n};\nexport const VersionedRemoteChainHeadFollowItem: Codec<VersionedRemoteChainHeadFollowItem>;\n/** Versioned envelope for [`RemoteChainHeadFollowRequest`]. */\nexport type VersionedRemoteChainHeadFollowRequest = {\n tag: \"V1\";\n value: RemoteChainHeadFollowRequest;\n};\nexport const VersionedRemoteChainHeadFollowRequest: Codec<VersionedRemoteChainHeadFollowRequest>;\n/** Versioned envelope for [`RemoteChainHeadHeaderError`]. */\nexport type VersionedRemoteChainHeadHeaderError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainHeadHeaderError: Codec<VersionedRemoteChainHeadHeaderError>;\n/** Versioned envelope for [`RemoteChainHeadHeaderRequest`]. */\nexport type VersionedRemoteChainHeadHeaderRequest = {\n tag: \"V1\";\n value: RemoteChainHeadHeaderRequest;\n};\nexport const VersionedRemoteChainHeadHeaderRequest: Codec<VersionedRemoteChainHeadHeaderRequest>;\n/** Versioned envelope for [`RemoteChainHeadHeaderResponse`]. */\nexport type VersionedRemoteChainHeadHeaderResponse = {\n tag: \"V1\";\n value: RemoteChainHeadHeaderResponse;\n};\nexport const VersionedRemoteChainHeadHeaderResponse: Codec<VersionedRemoteChainHeadHeaderResponse>;\n/** Versioned envelope for [`RemoteChainHeadStopOperationError`]. */\nexport type VersionedRemoteChainHeadStopOperationError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainHeadStopOperationError: Codec<VersionedRemoteChainHeadStopOperationError>;\n/** Versioned envelope for [`RemoteChainHeadStopOperationRequest`]. */\nexport type VersionedRemoteChainHeadStopOperationRequest = {\n tag: \"V1\";\n value: RemoteChainHeadStopOperationRequest;\n};\nexport const VersionedRemoteChainHeadStopOperationRequest: Codec<VersionedRemoteChainHeadStopOperationRequest>;\n/** Versioned envelope for [`RemoteChainHeadStopOperationResponse`]. */\nexport type VersionedRemoteChainHeadStopOperationResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedRemoteChainHeadStopOperationResponse: Codec<VersionedRemoteChainHeadStopOperationResponse>;\n/** Versioned envelope for [`RemoteChainHeadStorageError`]. */\nexport type VersionedRemoteChainHeadStorageError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainHeadStorageError: Codec<VersionedRemoteChainHeadStorageError>;\n/** Versioned envelope for [`RemoteChainHeadStorageRequest`]. */\nexport type VersionedRemoteChainHeadStorageRequest = {\n tag: \"V1\";\n value: RemoteChainHeadStorageRequest;\n};\nexport const VersionedRemoteChainHeadStorageRequest: Codec<VersionedRemoteChainHeadStorageRequest>;\n/** Versioned envelope for [`RemoteChainHeadStorageResponse`]. */\nexport type VersionedRemoteChainHeadStorageResponse = {\n tag: \"V1\";\n value: RemoteChainHeadStorageResponse;\n};\nexport const VersionedRemoteChainHeadStorageResponse: Codec<VersionedRemoteChainHeadStorageResponse>;\n/** Versioned envelope for [`RemoteChainHeadUnpinError`]. */\nexport type VersionedRemoteChainHeadUnpinError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainHeadUnpinError: Codec<VersionedRemoteChainHeadUnpinError>;\n/** Versioned envelope for [`RemoteChainHeadUnpinRequest`]. */\nexport type VersionedRemoteChainHeadUnpinRequest = {\n tag: \"V1\";\n value: RemoteChainHeadUnpinRequest;\n};\nexport const VersionedRemoteChainHeadUnpinRequest: Codec<VersionedRemoteChainHeadUnpinRequest>;\n/** Versioned envelope for [`RemoteChainHeadUnpinResponse`]. */\nexport type VersionedRemoteChainHeadUnpinResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedRemoteChainHeadUnpinResponse: Codec<VersionedRemoteChainHeadUnpinResponse>;\n/** Versioned envelope for [`RemoteChainSpecChainNameError`]. */\nexport type VersionedRemoteChainSpecChainNameError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainSpecChainNameError: Codec<VersionedRemoteChainSpecChainNameError>;\n/** Versioned envelope for [`RemoteChainSpecChainNameRequest`]. */\nexport type VersionedRemoteChainSpecChainNameRequest = {\n tag: \"V1\";\n value: RemoteChainSpecChainNameRequest;\n};\nexport const VersionedRemoteChainSpecChainNameRequest: Codec<VersionedRemoteChainSpecChainNameRequest>;\n/** Versioned envelope for [`RemoteChainSpecChainNameResponse`]. */\nexport type VersionedRemoteChainSpecChainNameResponse = {\n tag: \"V1\";\n value: RemoteChainSpecChainNameResponse;\n};\nexport const VersionedRemoteChainSpecChainNameResponse: Codec<VersionedRemoteChainSpecChainNameResponse>;\n/** Versioned envelope for [`RemoteChainSpecGenesisHashError`]. */\nexport type VersionedRemoteChainSpecGenesisHashError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainSpecGenesisHashError: Codec<VersionedRemoteChainSpecGenesisHashError>;\n/** Versioned envelope for [`RemoteChainSpecGenesisHashRequest`]. */\nexport type VersionedRemoteChainSpecGenesisHashRequest = {\n tag: \"V1\";\n value: RemoteChainSpecGenesisHashRequest;\n};\nexport const VersionedRemoteChainSpecGenesisHashRequest: Codec<VersionedRemoteChainSpecGenesisHashRequest>;\n/** Versioned envelope for [`RemoteChainSpecGenesisHashResponse`]. */\nexport type VersionedRemoteChainSpecGenesisHashResponse = {\n tag: \"V1\";\n value: RemoteChainSpecGenesisHashResponse;\n};\nexport const VersionedRemoteChainSpecGenesisHashResponse: Codec<VersionedRemoteChainSpecGenesisHashResponse>;\n/** Versioned envelope for [`RemoteChainSpecPropertiesError`]. */\nexport type VersionedRemoteChainSpecPropertiesError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainSpecPropertiesError: Codec<VersionedRemoteChainSpecPropertiesError>;\n/** Versioned envelope for [`RemoteChainSpecPropertiesRequest`]. */\nexport type VersionedRemoteChainSpecPropertiesRequest = {\n tag: \"V1\";\n value: RemoteChainSpecPropertiesRequest;\n};\nexport const VersionedRemoteChainSpecPropertiesRequest: Codec<VersionedRemoteChainSpecPropertiesRequest>;\n/** Versioned envelope for [`RemoteChainSpecPropertiesResponse`]. */\nexport type VersionedRemoteChainSpecPropertiesResponse = {\n tag: \"V1\";\n value: RemoteChainSpecPropertiesResponse;\n};\nexport const VersionedRemoteChainSpecPropertiesResponse: Codec<VersionedRemoteChainSpecPropertiesResponse>;\n/** Versioned envelope for [`RemoteChainTransactionBroadcastError`]. */\nexport type VersionedRemoteChainTransactionBroadcastError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainTransactionBroadcastError: Codec<VersionedRemoteChainTransactionBroadcastError>;\n/** Versioned envelope for [`RemoteChainTransactionBroadcastRequest`]. */\nexport type VersionedRemoteChainTransactionBroadcastRequest = {\n tag: \"V1\";\n value: RemoteChainTransactionBroadcastRequest;\n};\nexport const VersionedRemoteChainTransactionBroadcastRequest: Codec<VersionedRemoteChainTransactionBroadcastRequest>;\n/** Versioned envelope for [`RemoteChainTransactionBroadcastResponse`]. */\nexport type VersionedRemoteChainTransactionBroadcastResponse = {\n tag: \"V1\";\n value: RemoteChainTransactionBroadcastResponse;\n};\nexport const VersionedRemoteChainTransactionBroadcastResponse: Codec<VersionedRemoteChainTransactionBroadcastResponse>;\n/** Versioned envelope for [`RemoteChainTransactionStopError`]. */\nexport type VersionedRemoteChainTransactionStopError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteChainTransactionStopError: Codec<VersionedRemoteChainTransactionStopError>;\n/** Versioned envelope for [`RemoteChainTransactionStopRequest`]. */\nexport type VersionedRemoteChainTransactionStopRequest = {\n tag: \"V1\";\n value: RemoteChainTransactionStopRequest;\n};\nexport const VersionedRemoteChainTransactionStopRequest: Codec<VersionedRemoteChainTransactionStopRequest>;\n/** Versioned envelope for [`RemoteChainTransactionStopResponse`]. */\nexport type VersionedRemoteChainTransactionStopResponse = {\n tag: \"V1\";\n value?: undefined;\n};\nexport const VersionedRemoteChainTransactionStopResponse: Codec<VersionedRemoteChainTransactionStopResponse>;\n/**\n * One remote-operation permission requested by the product (RFC 0002).\n *\n * `ChainSubmit`, `PreimageSubmit`, and `StatementSubmit` are also triggered\n * implicitly by the corresponding business calls when not yet granted.\n */\nexport type RemotePermission = \n/** Outbound HTTP/WebSocket access to a set of domains. */\n{\n tag: \"Remote\";\n value: {\n domains: Array<string>;\n };\n}\n/** WebRTC media access. */\n | {\n tag: \"WebRtc\";\n value?: undefined;\n}\n/** Submitting transactions on behalf of the user via `remote_chain_transaction_broadcast`. */\n | {\n tag: \"ChainSubmit\";\n value?: undefined;\n}\n/** Submitting preimages on behalf of the user via `remote_preimage_submit`. */\n | {\n tag: \"PreimageSubmit\";\n value?: undefined;\n}\n/** Submitting statements on behalf of the user via `remote_statement_store_submit`. */\n | {\n tag: \"StatementSubmit\";\n value?: undefined;\n};\nexport const RemotePermission: Codec<RemotePermission>;\n/** Versioned envelope for [`RemotePermissionError`]. */\nexport type VersionedRemotePermissionError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemotePermissionError: Codec<VersionedRemotePermissionError>;\n/** Versioned envelope for [`RemotePermissionRequest`]. */\nexport type VersionedRemotePermissionRequest = {\n tag: \"V1\";\n value: RemotePermissionRequest;\n};\nexport const VersionedRemotePermissionRequest: Codec<VersionedRemotePermissionRequest>;\n/** Versioned envelope for [`RemotePermissionResponse`]. */\nexport type VersionedRemotePermissionResponse = {\n tag: \"V1\";\n value: RemotePermissionResponse;\n};\nexport const VersionedRemotePermissionResponse: Codec<VersionedRemotePermissionResponse>;\n/** Versioned envelope for [`RemotePreimageLookupSubscribeItem`]. */\nexport type VersionedRemotePreimageLookupSubscribeItem = {\n tag: \"V1\";\n value: RemotePreimageLookupSubscribeItem;\n};\nexport const VersionedRemotePreimageLookupSubscribeItem: Codec<VersionedRemotePreimageLookupSubscribeItem>;\n/** Versioned envelope for [`RemotePreimageLookupSubscribeRequest`]. */\nexport type VersionedRemotePreimageLookupSubscribeRequest = {\n tag: \"V1\";\n value: RemotePreimageLookupSubscribeRequest;\n};\nexport const VersionedRemotePreimageLookupSubscribeRequest: Codec<VersionedRemotePreimageLookupSubscribeRequest>;\n/** Versioned envelope for [`RemotePreimageSubmitError`]. */\nexport type VersionedRemotePreimageSubmitError = {\n tag: \"V1\";\n value: PreimageSubmitError;\n};\nexport const VersionedRemotePreimageSubmitError: Codec<VersionedRemotePreimageSubmitError>;\n/** Versioned envelope for [`RemotePreimageSubmitRequest`]. */\nexport type VersionedRemotePreimageSubmitRequest = {\n tag: \"V1\";\n value: HexString;\n};\nexport const VersionedRemotePreimageSubmitRequest: Codec<VersionedRemotePreimageSubmitRequest>;\n/** Versioned envelope for [`RemotePreimageSubmitResponse`]. */\nexport type VersionedRemotePreimageSubmitResponse = {\n tag: \"V1\";\n value: HexString;\n};\nexport const VersionedRemotePreimageSubmitResponse: Codec<VersionedRemotePreimageSubmitResponse>;\n/** Versioned envelope for [`RemoteStatementStoreCreateProofAuthorizedError`]. */\nexport type VersionedRemoteStatementStoreCreateProofAuthorizedError = {\n tag: \"V1\";\n value: RemoteStatementStoreCreateProofError;\n};\nexport const VersionedRemoteStatementStoreCreateProofAuthorizedError: Codec<VersionedRemoteStatementStoreCreateProofAuthorizedError>;\n/** Versioned envelope for [`RemoteStatementStoreCreateProofAuthorizedRequest`]. */\nexport type VersionedRemoteStatementStoreCreateProofAuthorizedRequest = {\n tag: \"V1\";\n value: Statement;\n};\nexport const VersionedRemoteStatementStoreCreateProofAuthorizedRequest: Codec<VersionedRemoteStatementStoreCreateProofAuthorizedRequest>;\n/** Versioned envelope for [`RemoteStatementStoreCreateProofAuthorizedResponse`]. */\nexport type VersionedRemoteStatementStoreCreateProofAuthorizedResponse = {\n tag: \"V1\";\n value: RemoteStatementStoreCreateProofResponse;\n};\nexport const VersionedRemoteStatementStoreCreateProofAuthorizedResponse: Codec<VersionedRemoteStatementStoreCreateProofAuthorizedResponse>;\n/** Versioned envelope for [`RemoteStatementStoreCreateProofError`]. */\nexport type VersionedRemoteStatementStoreCreateProofError = {\n tag: \"V1\";\n value: RemoteStatementStoreCreateProofError;\n};\nexport const VersionedRemoteStatementStoreCreateProofError: Codec<VersionedRemoteStatementStoreCreateProofError>;\n/** Versioned envelope for [`RemoteStatementStoreCreateProofRequest`]. */\nexport type VersionedRemoteStatementStoreCreateProofRequest = {\n tag: \"V1\";\n value: RemoteStatementStoreCreateProofRequest;\n};\nexport const VersionedRemoteStatementStoreCreateProofRequest: Codec<VersionedRemoteStatementStoreCreateProofRequest>;\n/** Versioned envelope for [`RemoteStatementStoreCreateProofResponse`]. */\nexport type VersionedRemoteStatementStoreCreateProofResponse = {\n tag: \"V1\";\n value: RemoteStatementStoreCreateProofResponse;\n};\nexport const VersionedRemoteStatementStoreCreateProofResponse: Codec<VersionedRemoteStatementStoreCreateProofResponse>;\n/** Versioned envelope for [`RemoteStatementStoreSubmitError`]. */\nexport type VersionedRemoteStatementStoreSubmitError = {\n tag: \"V1\";\n value: GenericError;\n};\nexport const VersionedRemoteStatementStoreSubmitError: Codec<VersionedRemoteStatementStoreSubmitError>;\n/** Versioned envelope for [`RemoteStatementStoreSubmitRequest`]. */\nexport type VersionedRemoteStatementStoreSubmitRequest = {\n tag: \"V1\";\n value: SignedStatement;\n};\nexport const VersionedRemoteStatementStoreSubmitRequest: Codec<VersionedRemoteStatementStoreSubmitRequest>;\n/** Versioned envelope for [`RemoteStatementStoreSubscribeItem`]. */\nexport type VersionedRemoteStatementStoreSubscribeItem = {\n tag: \"V1\";\n value: RemoteStatementStoreSubscribeItem;\n};\nexport const VersionedRemoteStatementStoreSubscribeItem: Codec<VersionedRemoteStatementStoreSubscribeItem>;\n/** Versioned envelope for [`RemoteStatementStoreSubscribeRequest`]. */\nexport type VersionedRemoteStatementStoreSubscribeRequest = {\n tag: \"V1\";\n value: RemoteStatementStoreSubscribeRequest;\n};\nexport const VersionedRemoteStatementStoreSubscribeRequest: Codec<VersionedRemoteStatementStoreSubscribeRequest>;\n/** Error from [`crate::api::ResourceAllocation::request`]. */\nexport type ResourceAllocationError = \n/** Catch-all. */\n{\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const ResourceAllocationError: Codec<ResourceAllocationError>;\n/** Locates a specific ring on a specific chain for ring VRF operations. */\nexport interface RingLocation {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Root hash of the ring. */\n ringRootHash: HexString;\n /** Optional location hints. */\n hints?: RingLocationHint;\n}\nexport const RingLocation: Codec<RingLocation>;\n/** Hints for locating a ring on-chain. */\nexport interface RingLocationHint {\n /** Optional pallet instance index. */\n palletInstance?: number;\n}\nexport const RingLocationHint: Codec<RingLocationHint>;\n/** Properties for a [`CustomRendererNode::Row`] layout. */\nexport interface RowProps {\n /** Vertical alignment of children. */\n verticalAlignment?: VerticalAlignment;\n /** Horizontal arrangement of children. */\n horizontalArrangement?: Arrangement;\n}\nexport const RowProps: Codec<RowProps>;\nexport interface RuntimeApi {\n /** Runtime API name. */\n name: string;\n /** Runtime API version. */\n version: number;\n}\nexport const RuntimeApi: Codec<RuntimeApi>;\nexport interface RuntimeSpec {\n /** Specification name. */\n specName: string;\n /** Implementation name. */\n implName: string;\n /** Spec version number. */\n specVersion: number;\n /** Implementation version. */\n implVersion: number;\n /** Transaction format version. */\n transactionVersion?: number;\n /** Supported runtime APIs. */\n apis: Array<RuntimeApi>;\n}\nexport const RuntimeSpec: Codec<RuntimeSpec>;\nexport type RuntimeType = {\n tag: \"Valid\";\n value: RuntimeSpec;\n} | {\n tag: \"Invalid\";\n value: {\n error: string;\n };\n};\nexport const RuntimeType: Codec<RuntimeType>;\n/** Shape for borders and backgrounds. */\nexport type Shape = \n/** Border radius value. */\n{\n tag: \"Rounded\";\n value: {\n radius: Size;\n };\n}\n/** Circular shape. */\n | {\n tag: \"Circle\";\n value?: undefined;\n};\nexport const Shape: Codec<Shape>;\n/** A statement with a required (not optional) proof. */\nexport interface SignedStatement {\n /** Required cryptographic proof. */\n proof: StatementProof;\n /** Optional decryption key. */\n decryptionKey?: HexString;\n /** Optional Unix timestamp expiry. */\n expiry?: bigint;\n /** Optional channel. */\n channel?: HexString;\n /** [u8; 32] tags. */\n topics: Array<HexString>;\n /** Optional data payload. */\n data?: HexString;\n}\nexport const SignedStatement: Codec<SignedStatement>;\n/**\n * A size/dimension value (logical pixels) used across the custom renderer.\n *\n * Encoded as a SCALE `Compact<u64>`: the common small values cost a single\n * byte on the wire instead of eight.\n */\nexport type Size = number | bigint;\nexport const Size: Codec<Size>;\n/** A statement with optional proof and metadata. */\nexport interface Statement {\n /** Optional cryptographic proof. */\n proof?: StatementProof;\n /** Optional decryption key. */\n decryptionKey?: HexString;\n /** Optional Unix timestamp expiry. */\n expiry?: bigint;\n /** Optional channel. */\n channel?: HexString;\n /** [u8; 32] tags. */\n topics: Array<HexString>;\n /** Optional data payload. */\n data?: HexString;\n}\nexport const Statement: Codec<Statement>;\n/** Cryptographic proof for a statement. */\nexport type StatementProof = \n/** Sr25519 signature proof. */\n{\n tag: \"Sr25519\";\n value: {\n signature: HexString;\n signer: HexString;\n };\n}\n/** Ed25519 signature proof. */\n | {\n tag: \"Ed25519\";\n value: {\n signature: HexString;\n signer: HexString;\n };\n}\n/** ECDSA signature proof. */\n | {\n tag: \"Ecdsa\";\n value: {\n signature: HexString;\n signer: HexString;\n };\n}\n/** On-chain event proof. */\n | {\n tag: \"OnChain\";\n value: {\n who: HexString;\n blockHash: HexString;\n event: bigint;\n };\n};\nexport const StatementProof: Codec<StatementProof>;\nexport interface StorageQueryItem {\n /** Storage key to query. */\n key: HexString;\n /** What to return. */\n queryType: StorageQueryType;\n}\nexport const StorageQueryItem: Codec<StorageQueryItem>;\nexport type StorageQueryType = \"Value\" | \"Hash\" | \"ClosestDescendantMerkleValue\" | \"DescendantsValues\" | \"DescendantsHashes\";\nexport const StorageQueryType: Codec<StorageQueryType>;\nexport interface StorageResultItem {\n /** The queried key. */\n key: HexString;\n /** Value, if requested. */\n value?: HexString;\n /** Hash, if requested. */\n hash?: HexString;\n /** Merkle value, if requested. */\n closestDescendantMerkleValue?: HexString;\n}\nexport const StorageResultItem: Codec<StorageResultItem>;\n/** Properties for a [`CustomRendererNode::TextField`]. */\nexport interface TextFieldProps {\n /** Current text value. */\n text: string;\n /** Placeholder text. */\n placeholder?: string;\n /** Field label. */\n label?: string;\n /** Whether the field is enabled. Absent leaves the default to the host. */\n enabled: boolean | undefined;\n /** Action identifier triggered when the value changes. */\n valueChangeAction?: string;\n}\nexport const TextFieldProps: Codec<TextFieldProps>;\n/** Properties for a [`CustomRendererNode::Text`] display. */\nexport interface TextProps {\n /** Typography preset. */\n style?: TypographyStyle;\n /** Text color. */\n color?: ColorToken;\n}\nexport const TextProps: Codec<TextProps>;\n/** Identifies a named theme. */\nexport type ThemeName = \n/** A custom named theme. */\n{\n tag: \"Custom\";\n value: string;\n}\n/** The host's default theme. */\n | {\n tag: \"Default\";\n value?: undefined;\n};\nexport const ThemeName: Codec<ThemeName>;\n/** Light or dark variant. */\nexport type ThemeVariant = \"Light\" | \"Dark\";\nexport const ThemeVariant: Codec<ThemeVariant>;\n/** 32-byte statement topic. */\nexport type Topic = HexString;\nexport const Topic: Codec<Topic>;\n/** A signed extension for a transaction payload. */\nexport interface TxPayloadExtension {\n /** Extension name (e.g., `\"CheckSpecVersion\"`). */\n id: string;\n /** SCALE-encoded extra data (in extrinsic body). */\n extra: HexString;\n /** SCALE-encoded implicit data (signed, not in body). */\n additionalSigned: HexString;\n}\nexport const TxPayloadExtension: Codec<TxPayloadExtension>;\n/** Text typography presets. */\nexport type TypographyStyle = \"HeadlineLarge\" | \"TitleMediumRegular\" | \"BodyLargeRegular\" | \"BodyMediumRegular\" | \"BodySmallRegular\";\nexport const TypographyStyle: Codec<TypographyStyle>;\n/** User's authentication state. */\nexport type HostAccountConnectionStatusSubscribeItem = \"Disconnected\" | \"Connected\";\nexport const HostAccountConnectionStatusSubscribeItem: Codec<HostAccountConnectionStatusSubscribeItem>;\n/** Error returned when ring VRF proof creation fails. */\nexport type HostAccountCreateProofError = \n/** Ring not available at the specified location. */\n{\n tag: \"RingNotFound\";\n value?: undefined;\n}\n/** User or host rejected. */\n | {\n tag: \"Rejected\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostAccountCreateProofError: Codec<HostAccountCreateProofError>;\n/** Request to create a ring VRF proof for a product account. */\nexport interface HostAccountCreateProofRequest {\n /** Product account that should create the proof. */\n productAccountId: ProductAccountId;\n /** Ring location to use for proof generation. */\n ringLocation: RingLocation;\n /** Context bytes bound to the proof. */\n context: HexString;\n}\nexport const HostAccountCreateProofRequest: Codec<HostAccountCreateProofRequest>;\n/** Response containing a ring VRF proof. */\nexport interface HostAccountCreateProofResponse {\n /** Variable-length ring VRF proof bytes. */\n proof: HexString;\n}\nexport const HostAccountCreateProofResponse: Codec<HostAccountCreateProofResponse>;\n/** Request to retrieve a contextual alias for a product account. */\nexport interface HostAccountGetAliasRequest {\n /** Product account to derive the alias for. */\n productAccountId: ProductAccountId;\n}\nexport const HostAccountGetAliasRequest: Codec<HostAccountGetAliasRequest>;\n/** A privacy-preserving alias derived via ring VRF, bound to a specific context. */\nexport interface HostAccountGetAliasResponse {\n /** 32-byte context identifier. */\n context: HexString;\n /** Ring VRF alias (variable length). */\n alias: HexString;\n}\nexport const HostAccountGetAliasResponse: Codec<HostAccountGetAliasResponse>;\n/** Error returned when credential/account requests fail. */\nexport type HostAccountGetError = \n/** User is not logged in. */\n{\n tag: \"NotConnected\";\n value?: undefined;\n}\n/** User or host rejected the request. */\n | {\n tag: \"Rejected\";\n value?: undefined;\n}\n/** Domain identifier is invalid. */\n | {\n tag: \"DomainNotValid\";\n value?: undefined;\n}\n/** Catch-all error with reason. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostAccountGetError: Codec<HostAccountGetError>;\n/** Request to retrieve a product-scoped account. */\nexport interface HostAccountGetRequest {\n /** Product account to retrieve. */\n productAccountId: ProductAccountId;\n}\nexport const HostAccountGetRequest: Codec<HostAccountGetRequest>;\n/** Response containing a product-scoped account. */\nexport interface HostAccountGetResponse {\n /** Retrieved product account. */\n account: ProductAccount;\n}\nexport const HostAccountGetResponse: Codec<HostAccountGetResponse>;\n/** A chat action received from the host. */\nexport interface HostChatActionSubscribeItem {\n /** Room where the action occurred. */\n roomId: string;\n /** Peer who initiated the action. */\n peer: string;\n /** The action payload. */\n payload: ChatActionPayload;\n}\nexport const HostChatActionSubscribeItem: Codec<HostChatActionSubscribeItem>;\n/** Chat room registration error. */\nexport type HostChatCreateRoomError = \n/** Not allowed. */\n{\n tag: \"PermissionDenied\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostChatCreateRoomError: Codec<HostChatCreateRoomError>;\n/** Request to create a chat room. */\nexport interface HostChatCreateRoomRequest {\n /** Unique room identifier. */\n roomId: string;\n /** Room display name. */\n name: string;\n /** URL or base64 image. */\n icon: string;\n}\nexport const HostChatCreateRoomRequest: Codec<HostChatCreateRoomRequest>;\n/** Result of a room registration. */\nexport interface HostChatCreateRoomResponse {\n /** `New` or `Exists`. */\n status: ChatRoomRegistrationStatus;\n}\nexport const HostChatCreateRoomResponse: Codec<HostChatCreateRoomResponse>;\n/** Item containing the current chat rooms. */\nexport interface HostChatListSubscribeItem {\n /** Chat rooms the product participates in. */\n rooms: Array<ChatRoom>;\n}\nexport const HostChatListSubscribeItem: Codec<HostChatListSubscribeItem>;\n/** Chat message posting error. */\nexport type HostChatPostMessageError = \n/** Message exceeded size limit. */\n{\n tag: \"MessageTooLarge\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostChatPostMessageError: Codec<HostChatPostMessageError>;\n/** Request to post a message to a chat room. */\nexport interface HostChatPostMessageRequest {\n /** Room to post to. */\n roomId: string;\n /** Message content. */\n payload: ChatMessageContent;\n}\nexport const HostChatPostMessageRequest: Codec<HostChatPostMessageRequest>;\n/** Result of posting a message. */\nexport interface HostChatPostMessageResponse {\n /** Assigned message ID. */\n messageId: string;\n}\nexport const HostChatPostMessageResponse: Codec<HostChatPostMessageResponse>;\n/** Chat bot registration error. */\nexport type HostChatRegisterBotError = \n/** Not allowed. */\n{\n tag: \"PermissionDenied\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostChatRegisterBotError: Codec<HostChatRegisterBotError>;\n/** Request to register a chat bot. */\nexport interface HostChatRegisterBotRequest {\n /** Unique bot identifier. */\n botId: string;\n /** Bot display name. */\n name: string;\n /** URL or base64 image. */\n icon: string;\n}\nexport const HostChatRegisterBotRequest: Codec<HostChatRegisterBotRequest>;\n/** Result of a bot registration. */\nexport interface HostChatRegisterBotResponse {\n /** `New` or `Exists`. */\n status: ChatBotRegistrationStatus;\n}\nexport const HostChatRegisterBotResponse: Codec<HostChatRegisterBotResponse>;\n/** Transaction creation error. */\nexport type HostCreateTransactionError = \n/** Payload could not be deserialized. */\n{\n tag: \"FailedToDecode\";\n value?: undefined;\n}\n/** User rejected. */\n | {\n tag: \"Rejected\";\n value?: undefined;\n}\n/** Unsupported payload version or extension. */\n | {\n tag: \"NotSupported\";\n value: {\n reason: string;\n };\n}\n/** Not authenticated. */\n | {\n tag: \"PermissionDenied\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostCreateTransactionError: Codec<HostCreateTransactionError>;\n/** Response containing a created transaction. */\nexport interface HostCreateTransactionResponse {\n /** SCALE-encoded signed transaction. */\n transaction: HexString;\n}\nexport const HostCreateTransactionResponse: Codec<HostCreateTransactionResponse>;\n/** Response containing a transaction created with a non-product account. */\nexport interface HostCreateTransactionWithLegacyAccountResponse {\n /** SCALE-encoded signed transaction. */\n transaction: HexString;\n}\nexport const HostCreateTransactionWithLegacyAccountResponse: Codec<HostCreateTransactionWithLegacyAccountResponse>;\n/** Error from [`crate::api::Entropy::derive`] (RFC 0007). */\nexport type HostDeriveEntropyError = \n/** Catch-all. */\n{\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostDeriveEntropyError: Codec<HostDeriveEntropyError>;\n/**\n * Request to derive deterministic per-product entropy (RFC 0007).\n *\n * The host derives 32 bytes from product-scoped seed material and `context`.\n * Repeated calls with the same `context` for the same product yield the same\n * entropy.\n */\nexport interface HostDeriveEntropyRequest {\n /** Domain-separated derivation context. */\n context: HexString;\n}\nexport const HostDeriveEntropyRequest: Codec<HostDeriveEntropyRequest>;\n/** Response carrying 32 bytes of deterministically derived entropy. */\nexport interface HostDeriveEntropyResponse {\n /** 32 bytes of derived entropy. */\n entropy: HexString;\n}\nexport const HostDeriveEntropyResponse: Codec<HostDeriveEntropyResponse>;\n/**\n * Device-capability permission requested from the host (RFC 0002).\n *\n * The user's decision is persisted indefinitely after the first prompt and\n * survives app restarts, whether the decision was grant or deny; the host\n * does not re-prompt on subsequent requests for the same capability.\n */\nexport type HostDevicePermissionRequest = \"Notifications\" | \"Camera\" | \"Microphone\" | \"Bluetooth\" | \"NFC\" | \"Location\" | \"Clipboard\" | \"OpenUrl\" | \"Biometrics\";\nexport const HostDevicePermissionRequest: Codec<HostDevicePermissionRequest>;\n/** Outcome of a device-permission request. */\nexport interface HostDevicePermissionResponse {\n /** Whether the permission was granted. */\n granted: boolean;\n}\nexport const HostDevicePermissionResponse: Codec<HostDevicePermissionResponse>;\n/** Request to query whether a feature is supported by the host. */\nexport type HostFeatureSupportedRequest = \n/** Ask whether the host can interact with the chain identified by genesis hash. */\n{\n tag: \"Chain\";\n value: {\n genesisHash: HexString;\n };\n};\nexport const HostFeatureSupportedRequest: Codec<HostFeatureSupportedRequest>;\n/** Response to a feature-support query. */\nexport interface HostFeatureSupportedResponse {\n /** Whether the feature is supported. */\n supported: boolean;\n}\nexport const HostFeatureSupportedResponse: Codec<HostFeatureSupportedResponse>;\n/** Response containing all legacy (user-imported) accounts owned by the user. */\nexport interface HostGetLegacyAccountsResponse {\n /** Legacy accounts. */\n accounts: Array<LegacyAccount>;\n}\nexport const HostGetLegacyAccountsResponse: Codec<HostGetLegacyAccountsResponse>;\n/** Error from [`crate::api::Account::get_user_id`]. */\nexport type HostGetUserIdError = \n/** User denied the identity disclosure request. */\n{\n tag: \"PermissionDenied\";\n value?: undefined;\n}\n/** User is not logged in. */\n | {\n tag: \"NotConnected\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostGetUserIdError: Codec<HostGetUserIdError>;\n/** The user's primary DotNS account identity. */\nexport interface HostGetUserIdResponse {\n /** The user's primary DotNS username. */\n primaryUsername: string;\n}\nexport const HostGetUserIdResponse: Codec<HostGetUserIdResponse>;\n/**\n * Error from [`crate::api::System::handshake`] (RFC 0009).\n *\n * The handshake is the first call on a fresh connection; it does not require\n * user authentication and is used to negotiate the wire codec version.\n */\nexport type HostHandshakeError = \n/** Host did not complete the handshake in time. */\n{\n tag: \"Timeout\";\n value?: undefined;\n}\n/** Host does not speak the codec version requested by the product. */\n | {\n tag: \"UnsupportedProtocolVersion\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: GenericError;\n};\nexport const HostHandshakeError: Codec<HostHandshakeError>;\n/** Wire-codec negotiation payload sent by the product (RFC 0009). */\nexport interface HostHandshakeRequest {\n /** Wire codec version requested by the product. */\n codecVersion: number;\n}\nexport const HostHandshakeRequest: Codec<HostHandshakeRequest>;\n/** Request to clear a local storage key. */\nexport interface HostLocalStorageClearRequest {\n /** Storage key to clear. */\n key: string;\n}\nexport const HostLocalStorageClearRequest: Codec<HostLocalStorageClearRequest>;\n/** Local storage operation error. */\nexport type HostLocalStorageReadError = \n/** Storage quota exceeded. */\n{\n tag: \"Full\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostLocalStorageReadError: Codec<HostLocalStorageReadError>;\n/** Request to read a local storage value. */\nexport interface HostLocalStorageReadRequest {\n /** Storage key to read. */\n key: string;\n}\nexport const HostLocalStorageReadRequest: Codec<HostLocalStorageReadRequest>;\n/** Response containing an optional local storage value. */\nexport interface HostLocalStorageReadResponse {\n /** Stored value, if present. */\n value?: HexString;\n}\nexport const HostLocalStorageReadResponse: Codec<HostLocalStorageReadResponse>;\n/** Request to write a value into local storage. */\nexport interface HostLocalStorageWriteRequest {\n /** Storage key to write. */\n key: string;\n /** Value to store at the key. */\n value: HexString;\n}\nexport const HostLocalStorageWriteRequest: Codec<HostLocalStorageWriteRequest>;\n/** Error from [`crate::api::System::navigate_to`]. */\nexport type HostNavigateToError = \n/** User denied the navigation prompt. */\n{\n tag: \"PermissionDenied\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostNavigateToError: Codec<HostNavigateToError>;\n/** Request to navigate the host to an external URL. */\nexport interface HostNavigateToRequest {\n /** URL to open. */\n url: string;\n}\nexport const HostNavigateToRequest: Codec<HostNavigateToRequest>;\n/**\n * Error from [`crate::api::Payment::balance_subscribe`].\n *\n * See [RFC 0006].\n *\n * [RFC 0006]: https://github.com/paritytech/triangle-js-sdks/pull/94\n */\nexport type HostPaymentBalanceSubscribeError = \n/** User denied the balance disclosure request. */\n{\n tag: \"PermissionDenied\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostPaymentBalanceSubscribeError: Codec<HostPaymentBalanceSubscribeError>;\n/**\n * Current payment balance state pushed to subscribers.\n *\n * See [RFC 0006].\n *\n * [RFC 0006]: https://github.com/paritytech/triangle-js-sdks/pull/94\n */\nexport interface HostPaymentBalanceSubscribeItem {\n /** Balance that can be spent right now. */\n available: Balance;\n}\nexport const HostPaymentBalanceSubscribeItem: Codec<HostPaymentBalanceSubscribeItem>;\n/** Request to subscribe to payment balance updates. */\nexport interface HostPaymentBalanceSubscribeRequest {\n /** Optional purse selector. `None` means MAIN_PURSE. */\n purse?: PaymentPurseId;\n}\nexport const HostPaymentBalanceSubscribeRequest: Codec<HostPaymentBalanceSubscribeRequest>;\n/**\n * Error from [`crate::api::Payment::request`].\n *\n * See [RFC 0006].\n *\n * [RFC 0006]: https://github.com/paritytech/triangle-js-sdks/pull/94\n */\nexport type HostPaymentError = \n/** User rejected the payment request. */\n{\n tag: \"Rejected\";\n value?: undefined;\n}\n/** User's available balance is not sufficient for the requested amount. */\n | {\n tag: \"InsufficientBalance\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostPaymentError: Codec<HostPaymentError>;\n/** Request to initiate a payment to another account. */\nexport interface HostPaymentRequest {\n /** Optional purse selector. `None` means MAIN_PURSE. */\n from?: PaymentPurseId;\n /** Amount to pay. */\n amount: Balance;\n /** Destination account. */\n destination: HexString;\n}\nexport const HostPaymentRequest: Codec<HostPaymentRequest>;\n/**\n * Receipt returned after a successful payment request.\n *\n * See [RFC 0006].\n *\n * [RFC 0006]: https://github.com/paritytech/triangle-js-sdks/pull/94\n */\nexport interface HostPaymentResponse {\n /** The assigned payment identifier. */\n id: string;\n}\nexport const HostPaymentResponse: Codec<HostPaymentResponse>;\n/**\n * Error from [`crate::api::Payment::status_subscribe`].\n *\n * See [RFC 0006].\n *\n * [RFC 0006]: https://github.com/paritytech/triangle-js-sdks/pull/94\n */\nexport type HostPaymentStatusSubscribeError = \n/** Payment ID was not found or does not belong to the current product. */\n{\n tag: \"PaymentNotFound\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostPaymentStatusSubscribeError: Codec<HostPaymentStatusSubscribeError>;\n/**\n * Payment lifecycle status pushed to subscribers.\n *\n * Once a terminal state (`Completed` or `Failed`) is reached, the host\n * delivers it and may close the subscription.\n *\n * See [RFC 0006].\n *\n * [RFC 0006]: https://github.com/paritytech/triangle-js-sdks/pull/94\n */\nexport type HostPaymentStatusSubscribeItem = \n/** Payment is being processed. */\n{\n tag: \"Processing\";\n value?: undefined;\n}\n/** Payment has been settled successfully. */\n | {\n tag: \"Completed\";\n value?: undefined;\n}\n/** Payment has failed. */\n | {\n tag: \"Failed\";\n value: {\n reason: string;\n };\n};\nexport const HostPaymentStatusSubscribeItem: Codec<HostPaymentStatusSubscribeItem>;\n/** Request to subscribe to a payment status. */\nexport interface HostPaymentStatusSubscribeRequest {\n /** Payment identifier to watch. */\n paymentId: string;\n}\nexport const HostPaymentStatusSubscribeRequest: Codec<HostPaymentStatusSubscribeRequest>;\n/**\n * Error from [`crate::api::Payment::top_up`].\n *\n * See [RFC 0006].\n *\n * [RFC 0006]: https://github.com/paritytech/triangle-js-sdks/pull/94\n */\nexport type HostPaymentTopUpError = \n/** The source account does not hold sufficient funds. */\n{\n tag: \"InsufficientFunds\";\n value?: undefined;\n}\n/** The source account was not found or is invalid. */\n | {\n tag: \"InvalidSource\";\n value?: undefined;\n}\n/** Some coins were claimed but the total fell short of the requested amount. */\n | {\n tag: \"PartialPayment\";\n value: {\n credited: Balance;\n };\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostPaymentTopUpError: Codec<HostPaymentTopUpError>;\n/** Request to top up the product payment balance. */\nexport interface HostPaymentTopUpRequest {\n /** Optional purse selector. `None` means MAIN_PURSE. */\n into?: PaymentPurseId;\n /** Amount to top up. */\n amount: Balance;\n /** Funding source for the top-up. */\n source: PaymentTopUpSource;\n}\nexport const HostPaymentTopUpRequest: Codec<HostPaymentTopUpRequest>;\n/** Request to cancel a previously scheduled notification. */\nexport interface HostPushNotificationCancelRequest {\n /** The notification identifier returned by [`HostPushNotificationResponse`]. */\n id: NotificationId;\n}\nexport const HostPushNotificationCancelRequest: Codec<HostPushNotificationCancelRequest>;\n/** Push notification error. */\nexport type HostPushNotificationError = \n/** The host-wide queue of pending scheduled notifications is full. */\n{\n tag: \"ScheduleLimitReached\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostPushNotificationError: Codec<HostPushNotificationError>;\n/**\n * Push notification payload.\n *\n * When `scheduled_at` is `Some`, the notification is deferred to the given\n * wall-clock instant (Unix milliseconds UTC). `None` fires immediately,\n * preserving prior behaviour. See [RFC 0019].\n *\n * [RFC 0019]: https://github.com/paritytech/truapi/blob/main/docs/rfcs/0019-scheduled-notifications.md\n */\nexport interface HostPushNotificationRequest {\n /** Notification text. */\n text: string;\n /** Optional URL to open on tap. */\n deeplink?: string;\n /**\n * Optional Unix timestamp in milliseconds (UTC) at which the notification\n * should fire. `None` fires immediately.\n */\n scheduledAt?: bigint;\n}\nexport const HostPushNotificationRequest: Codec<HostPushNotificationRequest>;\n/** Successful push notification response carrying the assigned id. */\nexport interface HostPushNotificationResponse {\n /** Host-assigned notification identifier. */\n id: NotificationId;\n}\nexport const HostPushNotificationResponse: Codec<HostPushNotificationResponse>;\n/** Login request error. */\nexport type HostRequestLoginError = \n/** Catch-all. */\n{\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostRequestLoginError: Codec<HostRequestLoginError>;\n/** Request to present the host login flow. */\nexport interface HostRequestLoginRequest {\n /** Optional human-readable reason shown in the login UI. */\n reason?: string;\n}\nexport const HostRequestLoginRequest: Codec<HostRequestLoginRequest>;\n/** Result of a login request. */\nexport type HostRequestLoginResponse = \"Success\" | \"AlreadyConnected\" | \"Rejected\";\nexport const HostRequestLoginResponse: Codec<HostRequestLoginResponse>;\n/** Batched resource pre-allocation request (RFC 0010). */\nexport interface HostRequestResourceAllocationRequest {\n /** Resources to allocate. */\n resources: Array<AllocatableResource>;\n}\nexport const HostRequestResourceAllocationRequest: Codec<HostRequestResourceAllocationRequest>;\n/** Per-resource outcomes for a batched allocation request (RFC 0010). */\nexport interface HostRequestResourceAllocationResponse {\n /** Per-resource allocation outcomes, in the same order as the request. */\n outcomes: Array<AllocationOutcome>;\n}\nexport const HostRequestResourceAllocationResponse: Codec<HostRequestResourceAllocationResponse>;\n/** Signing operation error. */\nexport type HostSignPayloadError = \n/** Payload could not be deserialized. */\n{\n tag: \"FailedToDecode\";\n value?: undefined;\n}\n/** User rejected signing. */\n | {\n tag: \"Rejected\";\n value?: undefined;\n}\n/** Not authenticated. */\n | {\n tag: \"PermissionDenied\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const HostSignPayloadError: Codec<HostSignPayloadError>;\n/** Request to sign an extrinsic payload with a product account. */\nexport interface HostSignPayloadRequest {\n /** Product account that will sign this payload. */\n account: ProductAccountId;\n /** The extrinsic payload to sign. */\n payload: HostSignPayloadData;\n}\nexport const HostSignPayloadRequest: Codec<HostSignPayloadRequest>;\n/** Result of a signing operation. */\nexport interface HostSignPayloadResponse {\n /** The cryptographic signature. */\n signature: HexString;\n /** Full signed transaction, if requested. */\n signedTransaction?: HexString;\n}\nexport const HostSignPayloadResponse: Codec<HostSignPayloadResponse>;\n/**\n * Sign a Substrate extrinsic payload with a non-product (legacy) account.\n * Contains the same fields as [`HostSignPayloadRequest`] minus `address`\n * (replaced by `signer`).\n */\nexport interface HostSignPayloadWithLegacyAccountRequest {\n /** Signer address (SS58 or hex) of the legacy account. */\n signer: string;\n /** The extrinsic payload to sign. */\n payload: HostSignPayloadData;\n}\nexport const HostSignPayloadWithLegacyAccountRequest: Codec<HostSignPayloadWithLegacyAccountRequest>;\n/** A raw signing request pairing an account with the payload to sign. */\nexport interface HostSignRawRequest {\n /** Product account that will sign this payload. */\n account: ProductAccountId;\n /** The payload to sign. */\n payload: RawPayload;\n}\nexport const HostSignRawRequest: Codec<HostSignRawRequest>;\n/**\n * Sign raw bytes with a non-product (legacy) account. The signer field\n * identifies which legacy account to use.\n */\nexport interface HostSignRawWithLegacyAccountRequest {\n /** Signer address (SS58 or hex) of the legacy account. */\n signer: string;\n /** The data to sign. */\n payload: RawPayload;\n}\nexport const HostSignRawWithLegacyAccountRequest: Codec<HostSignRawWithLegacyAccountRequest>;\n/** Current theme state pushed to subscribers. */\nexport interface HostThemeSubscribeItem {\n /** Theme name. */\n name: ThemeName;\n /** Light or dark variant. */\n variant: ThemeVariant;\n}\nexport const HostThemeSubscribeItem: Codec<HostThemeSubscribeItem>;\n/**\n * Subscribe payload identifying the chat message to render. The host responds\n * with a stream of [`CustomRendererNode`] trees describing the rendered UI.\n */\nexport interface ProductChatCustomMessageRenderSubscribeRequest {\n /** Message identifier. */\n messageId: string;\n /** Application-defined message type. */\n messageType: string;\n /** Binary payload. */\n payload: HexString;\n}\nexport const ProductChatCustomMessageRenderSubscribeRequest: Codec<ProductChatCustomMessageRenderSubscribeRequest>;\nexport interface RemoteChainHeadBodyRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Follow subscription identifier. */\n followSubscriptionId: string;\n /** Block hash. */\n hash: HexString;\n}\nexport const RemoteChainHeadBodyRequest: Codec<RemoteChainHeadBodyRequest>;\nexport interface RemoteChainHeadBodyResponse {\n /** Started operation result. */\n operation: OperationStartedResult;\n}\nexport const RemoteChainHeadBodyResponse: Codec<RemoteChainHeadBodyResponse>;\nexport interface RemoteChainHeadCallRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Follow subscription identifier. */\n followSubscriptionId: string;\n /** Block hash. */\n hash: HexString;\n /** Runtime API function name. */\n function: string;\n /** SCALE-encoded call parameters. */\n callParameters: HexString;\n}\nexport const RemoteChainHeadCallRequest: Codec<RemoteChainHeadCallRequest>;\nexport interface RemoteChainHeadCallResponse {\n /** Started operation result. */\n operation: OperationStartedResult;\n}\nexport const RemoteChainHeadCallResponse: Codec<RemoteChainHeadCallResponse>;\nexport interface RemoteChainHeadContinueRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Follow subscription identifier. */\n followSubscriptionId: string;\n /** Operation identifier. */\n operationId: string;\n}\nexport const RemoteChainHeadContinueRequest: Codec<RemoteChainHeadContinueRequest>;\nexport type RemoteChainHeadFollowItem = {\n tag: \"Initialized\";\n value: {\n finalizedBlockHashes: Array<HexString>;\n finalizedBlockRuntime?: RuntimeType;\n };\n} | {\n tag: \"NewBlock\";\n value: {\n blockHash: HexString;\n parentBlockHash: HexString;\n newRuntime?: RuntimeType;\n };\n} | {\n tag: \"BestBlockChanged\";\n value: {\n bestBlockHash: HexString;\n };\n} | {\n tag: \"Finalized\";\n value: {\n finalizedBlockHashes: Array<HexString>;\n prunedBlockHashes: Array<HexString>;\n };\n} | {\n tag: \"OperationBodyDone\";\n value: {\n operationId: string;\n value: Array<HexString>;\n };\n} | {\n tag: \"OperationCallDone\";\n value: {\n operationId: string;\n output: HexString;\n };\n} | {\n tag: \"OperationStorageItems\";\n value: {\n operationId: string;\n items: Array<StorageResultItem>;\n };\n} | {\n tag: \"OperationStorageDone\";\n value: {\n operationId: string;\n };\n} | {\n tag: \"OperationWaitingForContinue\";\n value: {\n operationId: string;\n };\n} | {\n tag: \"OperationInaccessible\";\n value: {\n operationId: string;\n };\n} | {\n tag: \"OperationError\";\n value: {\n operationId: string;\n error: string;\n };\n} | {\n tag: \"Stop\";\n value?: undefined;\n};\nexport const RemoteChainHeadFollowItem: Codec<RemoteChainHeadFollowItem>;\nexport interface RemoteChainHeadFollowRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Whether to include runtime information in events. */\n withRuntime: boolean;\n}\nexport const RemoteChainHeadFollowRequest: Codec<RemoteChainHeadFollowRequest>;\nexport interface RemoteChainHeadHeaderRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Follow subscription identifier. */\n followSubscriptionId: string;\n /** Block hash. */\n hash: HexString;\n}\nexport const RemoteChainHeadHeaderRequest: Codec<RemoteChainHeadHeaderRequest>;\nexport interface RemoteChainHeadHeaderResponse {\n /** SCALE-encoded block header. */\n header?: HexString;\n}\nexport const RemoteChainHeadHeaderResponse: Codec<RemoteChainHeadHeaderResponse>;\nexport interface RemoteChainHeadStopOperationRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Follow subscription identifier. */\n followSubscriptionId: string;\n /** Operation identifier. */\n operationId: string;\n}\nexport const RemoteChainHeadStopOperationRequest: Codec<RemoteChainHeadStopOperationRequest>;\nexport interface RemoteChainHeadStorageRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Follow subscription identifier. */\n followSubscriptionId: string;\n /** Block hash. */\n hash: HexString;\n /** Storage items to query. */\n items: Array<StorageQueryItem>;\n /** Optional child trie. */\n childTrie?: HexString;\n}\nexport const RemoteChainHeadStorageRequest: Codec<RemoteChainHeadStorageRequest>;\nexport interface RemoteChainHeadStorageResponse {\n /** Started operation result. */\n operation: OperationStartedResult;\n}\nexport const RemoteChainHeadStorageResponse: Codec<RemoteChainHeadStorageResponse>;\nexport interface RemoteChainHeadUnpinRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Follow subscription identifier. */\n followSubscriptionId: string;\n /** Block hashes to unpin. */\n hashes: Array<HexString>;\n}\nexport const RemoteChainHeadUnpinRequest: Codec<RemoteChainHeadUnpinRequest>;\nexport interface RemoteChainSpecChainNameRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n}\nexport const RemoteChainSpecChainNameRequest: Codec<RemoteChainSpecChainNameRequest>;\nexport interface RemoteChainSpecChainNameResponse {\n /** Chain display name. */\n chainName: string;\n}\nexport const RemoteChainSpecChainNameResponse: Codec<RemoteChainSpecChainNameResponse>;\nexport interface RemoteChainSpecGenesisHashRequest {\n /** Chain genesis hash requested by the product. */\n genesisHash: HexString;\n}\nexport const RemoteChainSpecGenesisHashRequest: Codec<RemoteChainSpecGenesisHashRequest>;\nexport interface RemoteChainSpecGenesisHashResponse {\n /** Chain genesis hash. */\n genesisHash: HexString;\n}\nexport const RemoteChainSpecGenesisHashResponse: Codec<RemoteChainSpecGenesisHashResponse>;\nexport interface RemoteChainSpecPropertiesRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n}\nexport const RemoteChainSpecPropertiesRequest: Codec<RemoteChainSpecPropertiesRequest>;\nexport interface RemoteChainSpecPropertiesResponse {\n /** JSON-encoded properties. */\n properties: string;\n}\nexport const RemoteChainSpecPropertiesResponse: Codec<RemoteChainSpecPropertiesResponse>;\nexport interface RemoteChainTransactionBroadcastRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Signed transaction bytes. */\n transaction: HexString;\n}\nexport const RemoteChainTransactionBroadcastRequest: Codec<RemoteChainTransactionBroadcastRequest>;\nexport interface RemoteChainTransactionBroadcastResponse {\n /** Broadcast operation identifier, if available. */\n operationId?: string;\n}\nexport const RemoteChainTransactionBroadcastResponse: Codec<RemoteChainTransactionBroadcastResponse>;\nexport interface RemoteChainTransactionStopRequest {\n /** Chain genesis hash. */\n genesisHash: HexString;\n /** Operation identifier of the broadcast to stop. */\n operationId: string;\n}\nexport const RemoteChainTransactionStopRequest: Codec<RemoteChainTransactionStopRequest>;\n/** remote-permission request (RFC 0002). */\nexport interface RemotePermissionRequest {\n /** Permission requested by the product. */\n permission: RemotePermission;\n}\nexport const RemotePermissionRequest: Codec<RemotePermissionRequest>;\n/** Outcome of a remote-permission request. */\nexport interface RemotePermissionResponse {\n /** Whether the permission was granted. */\n granted: boolean;\n}\nexport const RemotePermissionResponse: Codec<RemotePermissionResponse>;\n/** Item containing an optional preimage lookup result. */\nexport interface RemotePreimageLookupSubscribeItem {\n /** Preimage data, if found. */\n value?: HexString;\n}\nexport const RemotePreimageLookupSubscribeItem: Codec<RemotePreimageLookupSubscribeItem>;\n/** Request to subscribe to preimage lookup results. */\nexport interface RemotePreimageLookupSubscribeRequest {\n /** Hash of the preimage. */\n key: HexString;\n}\nexport const RemotePreimageLookupSubscribeRequest: Codec<RemotePreimageLookupSubscribeRequest>;\n/** Statement proof creation error. */\nexport type RemoteStatementStoreCreateProofError = \n/** Signing operation failed. */\n{\n tag: \"UnableToSign\";\n value?: undefined;\n}\n/** Account not recognized. */\n | {\n tag: \"UnknownAccount\";\n value?: undefined;\n}\n/** Catch-all. */\n | {\n tag: \"Unknown\";\n value: {\n reason: string;\n };\n};\nexport const RemoteStatementStoreCreateProofError: Codec<RemoteStatementStoreCreateProofError>;\n/** Request to create a cryptographic proof for a statement. */\nexport interface RemoteStatementStoreCreateProofRequest {\n /** Product account that should create the proof. */\n productAccountId: ProductAccountId;\n /** Statement to prove. */\n statement: Statement;\n}\nexport const RemoteStatementStoreCreateProofRequest: Codec<RemoteStatementStoreCreateProofRequest>;\n/** Response containing a statement proof. */\nexport interface RemoteStatementStoreCreateProofResponse {\n /** Created statement proof. */\n proof: StatementProof;\n}\nexport const RemoteStatementStoreCreateProofResponse: Codec<RemoteStatementStoreCreateProofResponse>;\n/**\n * Page of signed statements delivered by the statement store subscription\n * (RFC 0008). The `is_complete` flag distinguishes the historical-dump phase\n * (`false`) from the live-update phase (`true`).\n */\nexport interface RemoteStatementStoreSubscribeItem {\n /** Signed statements matching the subscription. */\n statements: Array<SignedStatement>;\n /**\n * `false` while the host is still streaming the historical dump (more\n * pages to follow). `true` once the dump is complete; all subsequent\n * pages are also `true` and carry only newly-arrived statements.\n */\n isComplete: boolean;\n}\nexport const RemoteStatementStoreSubscribeItem: Codec<RemoteStatementStoreSubscribeItem>;\n/** Request to subscribe to statements via a topic filter (RFC 0008). */\nexport type RemoteStatementStoreSubscribeRequest = \n/** AND: statement must contain every listed topic. */\n{\n tag: \"MatchAll\";\n value: Array<Topic>;\n}\n/** OR: statement must contain at least one listed topic. */\n | {\n tag: \"MatchAny\";\n value: Array<Topic>;\n};\nexport const RemoteStatementStoreSubscribeRequest: Codec<RemoteStatementStoreSubscribeRequest>;\n/** Vertical alignment options. */\nexport type VerticalAlignment = \"Top\" | \"Center\" | \"Bottom\";\nexport const VerticalAlignment: Codec<VerticalAlignment>;\n\n}\n\n\n// client.d.ts\nexport type { Subscription, TrUApiTransport };\n/**\n * Version overrides used when constructing a transport.\n */\nexport interface CreateTransportOptions {\n /**\n * Highest TrUAPI protocol version exposed by the transport.\n */\n truapiVersion?: number;\n /**\n * SCALE codec version advertised during host handshake negotiation.\n */\n codecVersion?: number;\n}\n/**\n * Build a `TrUApiTransport` on top of a `Provider`, adding request/response\n * correlation and subscription start/receive/stop lifecycle handling.\n */\nexport declare function createTransport(provider: Provider, options?: CreateTransportOptions): TrUApiTransport;\n\n\n// explorer/codegen/types.d.ts\nexport declare const types: DataType[];\n\n\n// explorer/codegen/versions/0.2.0/services.d.ts\nexport declare const services: ServiceInfo[];\n\n\n// explorer/codegen/versions/0.2.0/types.d.ts\nexport declare const types: DataType[];\n\n\n// explorer/codegen/versions/0.3.0/services.d.ts\nexport declare const services: ServiceInfo[];\n\n\n// explorer/codegen/versions/0.3.0/types.d.ts\nexport declare const types: DataType[];\n\n\n// explorer/codegen/versions/0.3.1/services.d.ts\nexport declare const services: ServiceInfo[];\n\n\n// explorer/codegen/versions/0.3.1/types.d.ts\nexport declare const types: DataType[];\n\n\n// explorer/data-types.d.ts\n/** One named field or enum variant rendered on a `DataType`. */\nexport interface DataTypeField {\n /** Field or variant name as it appears in the generated TS source. */\n name: string;\n /** Rendered TypeScript type expression. */\n type: string;\n /** First paragraph of the field/variant doc comment, when present. */\n description?: string;\n}\n/**\n * A type surfaced by the TrUAPI explorer. One entry per public type in the\n * generated client surface (versioned wrapper enums are not surfaced, the\n * explorer routes around them via `MethodInfo.requestType`/`responseType`).\n */\nexport interface DataType {\n /**\n * Kebab-case identifier (e.g. `host-account-get-request`). Matches the\n * `requestType`/`responseType`/`errorType` ids emitted on `MethodInfo`.\n */\n id: string;\n /** Public TS type name (e.g. `HostAccountGetRequest`). */\n name: string;\n /**\n * Rustdoc module bucket (`account`, `chat`, ...) or `shared` when the type\n * lives outside `api::<service>`.\n */\n category: string;\n /** TypeScript source for the type, ready to render in a code block. */\n definition: string;\n /**\n * Free-form doc comment, with the optional ```ts ... ``` example block\n * stripped.\n */\n description?: string;\n /** Named fields, populated for `struct`-shaped types. */\n fields?: DataTypeField[];\n /** Variants, populated for `enum`-shaped types. */\n variants?: DataTypeField[];\n}\n/**\n * One snapshot of the API surface. `id` is `\"main\"` for the live codegen\n * output, or a semver string (e.g. `\"0.1.0\"`) for an archived snapshot.\n */\nexport interface VersionEntry {\n id: string;\n services: ServiceInfo[];\n types: DataType[];\n}\n\n\n// explorer/versions.d.ts\n/**\n * Version string declared in `js/packages/truapi/package.json` at codegen\n * time. Mirrors the `truapi` crate version. Used by the explorer to render\n * the `main` selector label as `main (x.y.z)`.\n */\nexport declare const packageVersion = \"0.3.1\";\nexport declare const versions: VersionEntry[];\n\n\n// generated/client.d.ts\nexport { ResultAsync, SubscriptionError };\nexport type { ObservableLike, Observer, Result, Subscription, TrUApiTransport };\nexport declare const TRUAPI_VERSION: 1;\nexport declare const TRUAPI_CODEC_VERSION: 1;\n/** Account lookup, aliasing, and proof generation. */\nexport declare class AccountClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Subscribe to account connection status changes. */\n connectionStatusSubscribe(): ObservableLike<T.HostAccountConnectionStatusSubscribeItem>;\n /** Retrieve a product-scoped account. */\n getAccount(request: T.HostAccountGetRequest): ResultAsync<T.HostAccountGetResponse, T.HostAccountGetError>;\n /** Retrieve a contextual alias for a product account. */\n getAccountAlias(request: T.HostAccountGetAliasRequest): ResultAsync<T.HostAccountGetAliasResponse, T.HostAccountGetError>;\n /** Generate a ring VRF proof for a product account. */\n createAccountProof(request: T.HostAccountCreateProofRequest): ResultAsync<T.HostAccountCreateProofResponse, T.HostAccountCreateProofError>;\n /** List non-product accounts the user owns. */\n getLegacyAccounts(): ResultAsync<T.HostGetLegacyAccountsResponse, T.HostAccountGetError>;\n /** Fetch the user's primary identity. */\n getUserId(): ResultAsync<T.HostGetUserIdResponse, T.HostGetUserIdError>;\n /**\n * Request the host to present the login flow to the user.\n *\n * Products should call this in response to a user action (e.g. tapping a\n * \"Sign in\" button), not automatically on load.\n */\n requestLogin(request: T.HostRequestLoginRequest): ResultAsync<T.HostRequestLoginResponse, T.HostRequestLoginError>;\n}\n/** Chain interaction methods. */\nexport declare class ChainClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Follow the chain head and receive block events. */\n followHeadSubscribe({ request, }: {\n request: T.RemoteChainHeadFollowRequest;\n }): ObservableLike<T.RemoteChainHeadFollowItem>;\n /** Fetch a block header. */\n getHeadHeader(request: T.RemoteChainHeadHeaderRequest): ResultAsync<T.RemoteChainHeadHeaderResponse, T.GenericError>;\n /** Fetch a block body. */\n getHeadBody(request: T.RemoteChainHeadBodyRequest): ResultAsync<T.RemoteChainHeadBodyResponse, T.GenericError>;\n /** Query runtime storage at a specific block. */\n getHeadStorage(request: T.RemoteChainHeadStorageRequest): ResultAsync<T.RemoteChainHeadStorageResponse, T.GenericError>;\n /** Invoke a runtime call at a specific block. */\n callHead(request: T.RemoteChainHeadCallRequest): ResultAsync<T.RemoteChainHeadCallResponse, T.GenericError>;\n /** Release pinned blocks. */\n unpinHead(request: T.RemoteChainHeadUnpinRequest): ResultAsync<undefined, T.GenericError>;\n /** Continue a paused chain-head operation. */\n continueHead(request: T.RemoteChainHeadContinueRequest): ResultAsync<undefined, T.GenericError>;\n /** Stop a chain-head operation. */\n stopHeadOperation(request: T.RemoteChainHeadStopOperationRequest): ResultAsync<undefined, T.GenericError>;\n /** Fetch the canonical genesis hash for a chain. */\n getSpecGenesisHash(request: T.RemoteChainSpecGenesisHashRequest): ResultAsync<T.RemoteChainSpecGenesisHashResponse, T.GenericError>;\n /** Fetch the display name of a chain. */\n getSpecChainName(request: T.RemoteChainSpecChainNameRequest): ResultAsync<T.RemoteChainSpecChainNameResponse, T.GenericError>;\n /** Fetch the JSON-encoded properties of a chain. */\n getSpecProperties(request: T.RemoteChainSpecPropertiesRequest): ResultAsync<T.RemoteChainSpecPropertiesResponse, T.GenericError>;\n /** Broadcast a signed transaction. */\n broadcastTransaction(request: T.RemoteChainTransactionBroadcastRequest): ResultAsync<T.RemoteChainTransactionBroadcastResponse, T.GenericError>;\n /** Stop a transaction broadcast. */\n stopTransaction(request: T.RemoteChainTransactionStopRequest): ResultAsync<undefined, T.GenericError>;\n}\n/** Chat room, bot, and message APIs. */\nexport declare class ChatClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Create a chat room. */\n createRoom(request: T.HostChatCreateRoomRequest): ResultAsync<T.HostChatCreateRoomResponse, T.HostChatCreateRoomError>;\n /** Register a chat bot. */\n registerBot(request: T.HostChatRegisterBotRequest): ResultAsync<T.HostChatRegisterBotResponse, T.HostChatRegisterBotError>;\n /** Subscribe to the list of chat rooms. */\n listSubscribe(): ObservableLike<T.HostChatListSubscribeItem>;\n /** Post a message to a chat room. */\n postMessage(request: T.HostChatPostMessageRequest): ResultAsync<T.HostChatPostMessageResponse, T.HostChatPostMessageError>;\n /** Subscribe to received chat actions. */\n actionSubscribe(): ObservableLike<T.HostChatActionSubscribeItem>;\n /**\n * Subscribe to custom message render requests from the host. Each\n * emitted item is a [`CustomRendererNode`](crate::v01::CustomRendererNode)\n * tree describing the rendered UI.\n */\n customMessageRenderSubscribe({ request, }: {\n request: T.ProductChatCustomMessageRenderSubscribeRequest;\n }): ObservableLike<T.CustomRendererNode>;\n}\n/** Deterministic entropy derivation. */\nexport declare class EntropyClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Derive deterministic entropy. */\n derive(request: T.HostDeriveEntropyRequest): ResultAsync<T.HostDeriveEntropyResponse, T.HostDeriveEntropyError>;\n}\n/** Local key/value storage scoped to the calling product. */\nexport declare class LocalStorageClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Read a value by key. */\n read(request: T.HostLocalStorageReadRequest): ResultAsync<T.HostLocalStorageReadResponse, T.HostLocalStorageReadError>;\n /** Write a value to a key. */\n write(request: T.HostLocalStorageWriteRequest): ResultAsync<undefined, T.HostLocalStorageReadError>;\n /** Clear a value by key. */\n clear(request: T.HostLocalStorageClearRequest): ResultAsync<undefined, T.HostLocalStorageReadError>;\n}\n/** Notification methods for locally-rendered push notifications. */\nexport declare class NotificationsClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /**\n * Send a push notification to the user.\n *\n * Returns a [`NotificationId`](crate::v01::NotificationId) that can be\n * passed to [`cancel_push_notification`](Self::cancel_push_notification)\n * to retract a scheduled notification. When `scheduled_at` is set the host\n * persists the notification across restarts and fires it through the\n * platform-native scheduler. See [RFC 0019].\n *\n * [RFC 0019]: https://github.com/paritytech/truapi/blob/main/docs/rfcs/0019-scheduled-notifications.md\n */\n sendPushNotification(request: T.HostPushNotificationRequest): ResultAsync<T.HostPushNotificationResponse, T.HostPushNotificationError>;\n /**\n * Cancels a previously issued push notification.\n *\n * Cancellation is idempotent: returns `Ok(())` whether the notification is\n * still pending, already fired, or was never issued. See [RFC 0019].\n *\n * [RFC 0019]: https://github.com/paritytech/truapi/blob/main/docs/rfcs/0019-scheduled-notifications.md\n */\n cancelPushNotification(request: T.HostPushNotificationCancelRequest): ResultAsync<undefined, T.GenericError>;\n}\n/** Payment request and balance/status subscription methods. */\nexport declare class PaymentClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Subscribe to payment balance updates. */\n balanceSubscribe({ request, }: {\n request: T.HostPaymentBalanceSubscribeRequest;\n }): ObservableLike<T.HostPaymentBalanceSubscribeItem, T.HostPaymentBalanceSubscribeError>;\n /** Request a payment from the user. */\n request(request: T.HostPaymentRequest): ResultAsync<T.HostPaymentResponse, T.HostPaymentError>;\n /** Subscribe to payment lifecycle updates for a specific payment. */\n statusSubscribe({ request, }: {\n request: T.HostPaymentStatusSubscribeRequest;\n }): ObservableLike<T.HostPaymentStatusSubscribeItem, T.HostPaymentStatusSubscribeError>;\n /** Top up the user's payment balance. */\n topUp(request: T.HostPaymentTopUpRequest): ResultAsync<undefined, T.HostPaymentTopUpError>;\n}\n/** Permission request methods. */\nexport declare class PermissionsClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Request a device-capability permission from the user. */\n requestDevicePermission(request: T.HostDevicePermissionRequest): ResultAsync<T.HostDevicePermissionResponse, T.GenericError>;\n /** Request a remote-operation permission. */\n requestRemotePermission(request: T.RemotePermissionRequest): ResultAsync<T.RemotePermissionResponse, T.GenericError>;\n}\n/** Preimage lookup and submission methods. */\nexport declare class PreimageClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Subscribe to preimage lookups for a given key. */\n lookupSubscribe({ request, }: {\n request: T.RemotePreimageLookupSubscribeRequest;\n }): ObservableLike<T.RemotePreimageLookupSubscribeItem>;\n /** Submit a preimage. Returns the preimage key (hash) on success. */\n submit(request: HexString): ResultAsync<HexString, T.PreimageSubmitError>;\n}\n/** Resource pre-allocation (allowance management). */\nexport declare class ResourceAllocationClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Request the host to pre-allocate one or more resources. */\n request(request: T.HostRequestResourceAllocationRequest): ResultAsync<T.HostRequestResourceAllocationResponse, T.ResourceAllocationError>;\n}\n/** Signing operations. */\nexport declare class SigningClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Construct a signed transaction for a product account. */\n createTransaction(request: T.ProductAccountTxPayload): ResultAsync<T.HostCreateTransactionResponse, T.HostCreateTransactionError>;\n /** Construct a signed transaction for a non-product (legacy) account. */\n createTransactionWithLegacyAccount(request: T.LegacyAccountTxPayload): ResultAsync<T.HostCreateTransactionWithLegacyAccountResponse, T.HostCreateTransactionError>;\n /** Sign raw bytes with a non-product account. */\n signRawWithLegacyAccount(request: T.HostSignRawWithLegacyAccountRequest): ResultAsync<T.HostSignPayloadResponse, T.HostSignPayloadError>;\n /** Sign an extrinsic payload with a non-product account. */\n signPayloadWithLegacyAccount(request: T.HostSignPayloadWithLegacyAccountRequest): ResultAsync<T.HostSignPayloadResponse, T.HostSignPayloadError>;\n /** Sign raw bytes or a message. */\n signRaw(request: T.HostSignRawRequest): ResultAsync<T.HostSignPayloadResponse, T.HostSignPayloadError>;\n /** Sign an extrinsic payload. */\n signPayload(request: T.HostSignPayloadRequest): ResultAsync<T.HostSignPayloadResponse, T.HostSignPayloadError>;\n}\n/** Statement store methods. */\nexport declare class StatementStoreClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Subscribe to statements matching a topic filter. */\n subscribe({ request, }: {\n request: T.RemoteStatementStoreSubscribeRequest;\n }): ObservableLike<T.RemoteStatementStoreSubscribeItem>;\n /**\n * Create a proof for a statement.\n *\n * **Deprecated:** use [`create_proof_authorized`](Self::create_proof_authorized)\n * instead, which uses a pre-allocated allowance account and does not\n * require a per-call signing prompt.\n */\n createProof(request: T.RemoteStatementStoreCreateProofRequest): ResultAsync<T.RemoteStatementStoreCreateProofResponse, T.RemoteStatementStoreCreateProofError>;\n /**\n * Create a proof for a statement using a pre-allocated allowance account,\n * bypassing the per-call signing prompt.\n */\n createProofAuthorized(request: T.Statement): ResultAsync<T.RemoteStatementStoreCreateProofResponse, T.RemoteStatementStoreCreateProofError>;\n /**\n * Submit a signed statement to the network. The request body is the\n * [`SignedStatement`](crate::v01::SignedStatement) directly (no wrapping\n * struct), matching upstream `triangle-js-sdks`.\n */\n submit(request: T.SignedStatement): ResultAsync<undefined, T.GenericError>;\n}\n/**\n * General-purpose TrUAPI methods for handshake, feature detection,\n * and navigation.\n */\nexport declare class SystemClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Negotiate the wire codec version with the product. */\n handshake(): ResultAsync<undefined, T.HostHandshakeError>;\n /** Query whether the host supports a specific feature. */\n featureSupported(request: T.HostFeatureSupportedRequest): ResultAsync<T.HostFeatureSupportedResponse, T.GenericError>;\n /** Request the host to open a URL. */\n navigateTo(request: T.HostNavigateToRequest): ResultAsync<undefined, T.HostNavigateToError>;\n}\n/** Host theme subscription. */\nexport declare class ThemeClient {\n private readonly transport;\n constructor(transport: TrUApiTransport);\n /** Subscribe to host theme changes. */\n subscribe(): ObservableLike<T.HostThemeSubscribeItem>;\n}\nexport interface TrUApiClient {\n readonly account: AccountClient;\n readonly chain: ChainClient;\n readonly chat: ChatClient;\n readonly entropy: EntropyClient;\n readonly localStorage: LocalStorageClient;\n readonly notifications: NotificationsClient;\n readonly payment: PaymentClient;\n readonly permissions: PermissionsClient;\n readonly preimage: PreimageClient;\n readonly resourceAllocation: ResourceAllocationClient;\n readonly signing: SigningClient;\n readonly statementStore: StatementStoreClient;\n readonly system: SystemClient;\n readonly theme: ThemeClient;\n}\nexport type Client = TrUApiClient;\nexport type GeneratedClientTransport = Omit<TrUApiTransport, \"truapiVersion\" | \"codecVersion\"> & Partial<Pick<TrUApiTransport, \"truapiVersion\" | \"codecVersion\">>;\n/** Creates the generated client facade by binding each service namespace to the\n * shared transport instance. */\nexport declare function createClient(transport: GeneratedClientTransport): TrUApiClient;\n\n\n// generated/index.d.ts\n\n\n// generated/wire-table.d.ts\nexport declare const SYSTEM_HANDSHAKE: {\n readonly request: 0;\n readonly response: 1;\n};\nexport declare const SYSTEM_FEATURE_SUPPORTED: {\n readonly request: 2;\n readonly response: 3;\n};\nexport declare const NOTIFICATIONS_SEND_PUSH_NOTIFICATION: {\n readonly request: 4;\n readonly response: 5;\n};\nexport declare const SYSTEM_NAVIGATE_TO: {\n readonly request: 6;\n readonly response: 7;\n};\nexport declare const PERMISSIONS_REQUEST_DEVICE_PERMISSION: {\n readonly request: 8;\n readonly response: 9;\n};\nexport declare const PERMISSIONS_REQUEST_REMOTE_PERMISSION: {\n readonly request: 10;\n readonly response: 11;\n};\nexport declare const LOCAL_STORAGE_READ: {\n readonly request: 12;\n readonly response: 13;\n};\nexport declare const LOCAL_STORAGE_WRITE: {\n readonly request: 14;\n readonly response: 15;\n};\nexport declare const LOCAL_STORAGE_CLEAR: {\n readonly request: 16;\n readonly response: 17;\n};\nexport declare const ACCOUNT_CONNECTION_STATUS_SUBSCRIBE: {\n readonly start: 18;\n readonly stop: 19;\n readonly interrupt: 20;\n readonly receive: 21;\n};\nexport declare const ACCOUNT_GET_ACCOUNT: {\n readonly request: 22;\n readonly response: 23;\n};\nexport declare const ACCOUNT_GET_ACCOUNT_ALIAS: {\n readonly request: 24;\n readonly response: 25;\n};\nexport declare const ACCOUNT_CREATE_ACCOUNT_PROOF: {\n readonly request: 26;\n readonly response: 27;\n};\nexport declare const ACCOUNT_GET_LEGACY_ACCOUNTS: {\n readonly request: 28;\n readonly response: 29;\n};\nexport declare const SIGNING_CREATE_TRANSACTION: {\n readonly request: 30;\n readonly response: 31;\n};\nexport declare const SIGNING_CREATE_TRANSACTION_WITH_LEGACY_ACCOUNT: {\n readonly request: 32;\n readonly response: 33;\n};\nexport declare const SIGNING_SIGN_RAW_WITH_LEGACY_ACCOUNT: {\n readonly request: 34;\n readonly response: 35;\n};\nexport declare const SIGNING_SIGN_PAYLOAD_WITH_LEGACY_ACCOUNT: {\n readonly request: 36;\n readonly response: 37;\n};\nexport declare const CHAT_CREATE_ROOM: {\n readonly request: 38;\n readonly response: 39;\n};\nexport declare const CHAT_REGISTER_BOT: {\n readonly request: 40;\n readonly response: 41;\n};\nexport declare const CHAT_LIST_SUBSCRIBE: {\n readonly start: 42;\n readonly stop: 43;\n readonly interrupt: 44;\n readonly receive: 45;\n};\nexport declare const CHAT_POST_MESSAGE: {\n readonly request: 46;\n readonly response: 47;\n};\nexport declare const CHAT_ACTION_SUBSCRIBE: {\n readonly start: 48;\n readonly stop: 49;\n readonly interrupt: 50;\n readonly receive: 51;\n};\nexport declare const CHAT_CUSTOM_MESSAGE_RENDER_SUBSCRIBE: {\n readonly start: 52;\n readonly stop: 53;\n readonly interrupt: 54;\n readonly receive: 55;\n};\nexport declare const STATEMENT_STORE_SUBSCRIBE: {\n readonly start: 56;\n readonly stop: 57;\n readonly interrupt: 58;\n readonly receive: 59;\n};\nexport declare const STATEMENT_STORE_CREATE_PROOF: {\n readonly request: 60;\n readonly response: 61;\n};\nexport declare const STATEMENT_STORE_SUBMIT: {\n readonly request: 62;\n readonly response: 63;\n};\nexport declare const PREIMAGE_LOOKUP_SUBSCRIBE: {\n readonly start: 64;\n readonly stop: 65;\n readonly interrupt: 66;\n readonly receive: 67;\n};\nexport declare const PREIMAGE_SUBMIT: {\n readonly request: 68;\n readonly response: 69;\n};\nexport declare const CHAIN_FOLLOW_HEAD_SUBSCRIBE: {\n readonly start: 76;\n readonly stop: 77;\n readonly interrupt: 78;\n readonly receive: 79;\n};\nexport declare const CHAIN_GET_HEAD_HEADER: {\n readonly request: 80;\n readonly response: 81;\n};\nexport declare const CHAIN_GET_HEAD_BODY: {\n readonly request: 82;\n readonly response: 83;\n};\nexport declare const CHAIN_GET_HEAD_STORAGE: {\n readonly request: 84;\n readonly response: 85;\n};\nexport declare const CHAIN_CALL_HEAD: {\n readonly request: 86;\n readonly response: 87;\n};\nexport declare const CHAIN_UNPIN_HEAD: {\n readonly request: 88;\n readonly response: 89;\n};\nexport declare const CHAIN_CONTINUE_HEAD: {\n readonly request: 90;\n readonly response: 91;\n};\nexport declare const CHAIN_STOP_HEAD_OPERATION: {\n readonly request: 92;\n readonly response: 93;\n};\nexport declare const CHAIN_GET_SPEC_GENESIS_HASH: {\n readonly request: 94;\n readonly response: 95;\n};\nexport declare const CHAIN_GET_SPEC_CHAIN_NAME: {\n readonly request: 96;\n readonly response: 97;\n};\nexport declare const CHAIN_GET_SPEC_PROPERTIES: {\n readonly request: 98;\n readonly response: 99;\n};\nexport declare const CHAIN_BROADCAST_TRANSACTION: {\n readonly request: 100;\n readonly response: 101;\n};\nexport declare const CHAIN_STOP_TRANSACTION: {\n readonly request: 102;\n readonly response: 103;\n};\nexport declare const THEME_SUBSCRIBE: {\n readonly start: 104;\n readonly stop: 105;\n readonly interrupt: 106;\n readonly receive: 107;\n};\nexport declare const ENTROPY_DERIVE: {\n readonly request: 108;\n readonly response: 109;\n};\nexport declare const ACCOUNT_GET_USER_ID: {\n readonly request: 110;\n readonly response: 111;\n};\nexport declare const ACCOUNT_REQUEST_LOGIN: {\n readonly request: 112;\n readonly response: 113;\n};\nexport declare const SIGNING_SIGN_RAW: {\n readonly request: 114;\n readonly response: 115;\n};\nexport declare const SIGNING_SIGN_PAYLOAD: {\n readonly request: 116;\n readonly response: 117;\n};\nexport declare const PAYMENT_BALANCE_SUBSCRIBE: {\n readonly start: 118;\n readonly stop: 119;\n readonly interrupt: 120;\n readonly receive: 121;\n};\nexport declare const PAYMENT_TOP_UP: {\n readonly request: 122;\n readonly response: 123;\n};\nexport declare const PAYMENT_REQUEST: {\n readonly request: 124;\n readonly response: 125;\n};\nexport declare const PAYMENT_STATUS_SUBSCRIBE: {\n readonly start: 126;\n readonly stop: 127;\n readonly interrupt: 128;\n readonly receive: 129;\n};\nexport declare const RESOURCE_ALLOCATION_REQUEST: {\n readonly request: 130;\n readonly response: 131;\n};\nexport declare const STATEMENT_STORE_CREATE_PROOF_AUTHORIZED: {\n readonly request: 132;\n readonly response: 133;\n};\nexport declare const NOTIFICATIONS_CANCEL_PUSH_NOTIFICATION: {\n readonly request: 134;\n readonly response: 135;\n};\n\n\n// index.d.ts\n\n\n// playground/codegen/services.d.ts\nexport declare const services: ServiceInfo[];\n\n\n// playground/services-types.d.ts\nexport interface MethodInfo {\n name: string;\n type: \"unary\" | \"subscription\";\n /** TS-shaped signature for the method (e.g. `getAccount(request: HostAccountGetRequest): Promise<\u2026>`). */\n signature?: string;\n /** Cargo-doc URL fragment for this method (relative to the rustdoc root for the truapi crate). */\n docUrl?: string;\n description?: string;\n requestDescription?: string;\n exampleSource?: string;\n /** DataType id (kebab-case) of the method's request payload, when applicable. */\n requestType?: string;\n /** DataType id of the method's response. */\n responseType?: string;\n /** DataType id of the method's error. */\n errorType?: string;\n}\nexport interface ServiceInfo {\n name: string;\n methods: MethodInfo[];\n}\n\n\n// transport.d.ts\n/**\n * Handle returned by TrUAPI subscription APIs.\n **/\nexport interface Subscription {\n /**\n * Stop the subscription. Calling this more than once has no additional effect.\n **/\n unsubscribe: () => void;\n /**\n * Transport-assigned request id for the subscription start frame.\n *\n * Methods that accept a `followSubscriptionId` use this value to scope\n * follow-up requests to a specific active subscription.\n **/\n subscriptionId: string;\n}\n/**\n * Terminal error delivered through `Observer.error` for every non-normal\n * subscription end. When the peer interrupted the stream with a typed payload,\n * `reason` carries the decoded `Reason`; otherwise `reason` is `undefined` and\n * the underlying transport/decode error is preserved on `cause`.\n *\n * Discriminate with `error.reason !== undefined` (or `'reason' in error`).\n **/\nexport declare class SubscriptionError<Reason = never> extends Error {\n /**\n * Typed payload supplied by the peer when it interrupted the subscription.\n * `undefined` when the stream ended for any other reason (transport close,\n * decode failure, malformed interrupt payload).\n **/\n readonly reason?: Reason;\n constructor(message: string, options?: {\n reason?: Reason;\n cause?: unknown;\n });\n}\n/**\n * Minimal Observable-compatible observer shape used by generated subscription\n * APIs without depending on RxJS.\n *\n * `Reason` is the typed interrupt payload for the originating subscription.\n * Methods without a typed interrupt resolve `Reason` to `never`, leaving\n * `error.reason` typed as `undefined`.\n **/\nexport interface Observer<Item, Reason = never> {\n /**\n * Called with each successfully decoded subscription item.\n **/\n next(value: Item): void;\n /**\n * Called once when the stream terminates with an error. Inspect\n * `error.reason` to distinguish a typed peer interrupt from a transport or\n * decode failure (`error.cause` carries the underlying failure in the\n * latter case).\n **/\n error(error: SubscriptionError<Reason>): void;\n /**\n * Called once when the peer normally completes the stream.\n **/\n complete(): void;\n}\ndeclare global {\n interface SymbolConstructor {\n readonly observable: unique symbol;\n }\n}\n/**\n * Minimal Observable-compatible object returned by generated subscription APIs.\n *\n * Implements the ES Observable interop protocol so that consumers can pass\n * an instance straight to `rxjs.from(...)`.\n **/\nexport interface ObservableLike<Item, Reason = never> {\n /**\n * Start the stream and receive `next`, `error`, and `complete` callbacks.\n **/\n subscribe(observer?: Partial<Observer<Item, Reason>>): Subscription;\n /**\n * Observable interop hook. Returns `this`.\n **/\n [Symbol.observable](): ObservableLike<Item, Reason>;\n}\n/**\n * Numeric frame ids for a one-shot request method.\n **/\nexport interface RequestFrameIds {\n /**\n * Wire discriminant for the outbound request frame.\n **/\n request: number;\n /**\n * Wire discriminant for the inbound response frame.\n **/\n response: number;\n}\n/**\n * Numeric frame ids for a subscription method.\n **/\nexport interface SubscriptionFrameIds {\n /**\n * Wire discriminant for the outbound start frame.\n **/\n start: number;\n /**\n * Wire discriminant for the outbound stop frame.\n **/\n stop: number;\n /**\n * Wire discriminant for the inbound interrupt frame.\n **/\n interrupt: number;\n /**\n * Wire discriminant for the inbound receive frame.\n **/\n receive: number;\n}\n/**\n * Options accepted by `TrUApiTransport.request`.\n **/\nexport interface RequestParams<Ok, Err> {\n /**\n * Wire discriminants for this request method.\n **/\n ids: RequestFrameIds;\n /**\n * SCALE-encoded request payload bytes.\n **/\n payload: Uint8Array;\n /**\n * Decode SCALE response payload bytes into the wire `ResultPayload`\n * envelope. The transport unwraps the envelope into `ResultAsync<Ok, Err>`.\n **/\n decodeResponse: (payload: Uint8Array) => ResultPayload<Ok, Err>;\n}\n/**\n * Options accepted by `TrUApiTransport.subscribeRaw`.\n **/\nexport interface SubscribeRawParams {\n /**\n * Wire discriminants for this subscription method.\n **/\n ids: SubscriptionFrameIds;\n /**\n * SCALE-encoded subscription start payload bytes.\n **/\n payload: Uint8Array;\n /**\n * Called with raw SCALE receive payload bytes.\n **/\n onReceive: (payload: Uint8Array) => void;\n /**\n * Called with raw SCALE interrupt payload bytes when the peer interrupts the subscription.\n **/\n onInterrupt?: (payload: Uint8Array) => void;\n /**\n * Called when the underlying provider closes while the subscription is active.\n **/\n onClose?: (error: Error) => void;\n}\n/**\n * Byte-level transport used by generated client stubs.\n **/\nexport interface TrUApiTransport {\n /**\n * Highest TrUAPI protocol version supported by this generated client.\n **/\n readonly truapiVersion: number;\n /**\n * SCALE codec version negotiated through the handshake.\n **/\n readonly codecVersion: number;\n /**\n * Send a one-shot request and resolve with the typed Ok/Err outcome.\n **/\n request<Ok, Err>(params: RequestParams<Ok, Err>): ResultAsync<Ok, Err>;\n /**\n * Start a subscription and return a handle that can stop it.\n **/\n subscribeRaw(params: SubscribeRawParams): Subscription;\n /**\n * Tear down the transport and release the listeners it registered on the\n * underlying `Provider`. Pending requests reject and live subscriptions\n * receive `onClose`. Idempotent.\n *\n * The provider itself is left alone; the caller decides whether to also\n * call `provider.dispose()` (long-lived hosts that swap providers will\n * typically dispose the transport but keep the provider).\n **/\n dispose(): void;\n}\n/**\n * Tagged payload inside a TrUAPI wire frame.\n **/\nexport interface Payload {\n /**\n * Wire-table numeric discriminant.\n **/\n id: number;\n /**\n * SCALE-encoded payload body.\n **/\n value: Uint8Array;\n}\n/**\n * Top-level TrUAPI wire message.\n **/\nexport interface ProtocolMessage {\n /**\n * Request id used to correlate request/response and subscription frames.\n **/\n requestId: string;\n /**\n * Tagged SCALE payload carried by this frame.\n **/\n payload: Payload;\n}\n/**\n * Raw message pipe abstraction used by the transport.\n **/\nexport interface Provider {\n /**\n * Send a complete SCALE-encoded wire frame to the peer.\n **/\n postMessage(message: Uint8Array): void;\n /**\n * Register a callback for inbound SCALE-encoded wire frames.\n **/\n subscribe(callback: (message: Uint8Array) => void): () => void;\n /**\n * Register a callback for provider-level close or failure events.\n **/\n subscribeClose?(callback: (error: Error) => void): () => void;\n /**\n * Release provider resources and close the underlying pipe.\n **/\n dispose(): void;\n}\n/**\n * Encode a `ProtocolMessage` into a SCALE wire frame.\n **/\nexport declare function encodeWireMessage(message: ProtocolMessage): Result<Uint8Array, Error>;\n/**\n * Decode a SCALE wire frame into a `ProtocolMessage`.\n **/\nexport declare function decodeWireMessage(message: Uint8Array): Result<ProtocolMessage, Error>;\n/**\n * Create a provider for the child side of an iframe `postMessage` channel.\n *\n * `target` is the `Window` the provider posts to (typically `window.parent`);\n * `hostOrigin` is the pinned `targetOrigin` for outbound frames and the\n * required `event.origin` of inbound frames. The provider only delivers\n * frames whose `event.source === target` and `event.origin === hostOrigin`,\n * so it cannot be coerced by an unrelated frame parent.\n **/\nexport declare function createIframeProvider(options: {\n target: Window;\n hostOrigin: string;\n}): Provider;\n/**\n * Create a provider from a web or Electron `MessagePort`.\n **/\nexport declare function createMessagePortProvider(port: MessagePort | Promise<MessagePort>): Provider;\n\n\n// well-known-chains.d.ts\n/** Well-known chain descriptors. Each chain is its own `export const` so that\n * bundlers can tree-shake the ones a consumer does not import. */\nexport interface WellKnownChain {\n readonly name: string;\n readonly network: \"Mainnet\" | \"Testnet\";\n readonly genesis: HexString;\n}\nexport declare const PASEO_NEXT_V2_ASSET_HUB: {\n readonly name: \"Paseo Next v2 Hub\";\n readonly network: \"Testnet\";\n readonly genesis: \"0xbf0488dbe9daa1de1c08c5f743e26fdc2a4ecd74cf87dd1b4b1eeb99ae4ef19f\";\n};\n";