$RuntimeVersion: $.Shape<{
    apis: (readonly [`0x${string}`, number])[];
    authoringVersion: number;
    implName: string;
    implVersion: number;
    specName: string;
    specVersion: number;
    stateVersion: number;
    transactionVersion: number;
}, {
    apis: [`0x${string}`, number][];
    authoringVersion: number;
    implName: string;
    implVersion: number;
    specName: string;
    specVersion: number;
    stateVersion: number;
    transactionVersion: number;
}> = ...

Runtime version. This should not be thought of as classic Semver (major/minor/tiny). This triplet have different semantics and mis-interpretation could cause problems.

In particular: bug fixes should result in an increment of spec_version and possibly authoring_version, absolutely not impl_version since they change the semantics of the runtime.

Ref: https://github.com/paritytech/polkadot-sdk/blob/0e49ed72aa365475e30069a5c30e251a009fdacf/substrate/primitives/version/src/lib.rs#L152-L215