import type { TsProtoGeneratedType } from "@cosmjs/proto-signing"; export type PickType = Pick< TObject, Exclude< keyof TObject, { [P in keyof TObject]: TObject[P] extends TPicked ? never : P; }[keyof TObject] > >; export type ProtoPackageAndMessages = { protobufPackage: T["protobufPackage"]; } & PickType; export type EncodeObjectRecord> = { [P in keyof PickType]: { typeUrl: P extends string ? `/${T["protobufPackage"]}.${P}` : void; value: T[P] extends TsProtoGeneratedType ? ReturnType : void; }; }; export type Rpc = { request(service: string, method: string, data: Uint8Array): Promise; }; export type StringLiteral = T extends string ? (string extends T ? never : T) : never;