import type { Bytes, Struct, Vec, WrapperOpaque, u32 } from '@polkadot/types-codec';
import type { Signature } from '@polkadot/types/interfaces/extrinsics';
import type { BlockNumber } from '@polkadot/types/interfaces/runtime';
import type { SessionIndex } from '@polkadot/types/interfaces/session';
/** @name AuthIndex */
export interface AuthIndex extends u32 {
}
/** @name AuthoritySignature */
export interface AuthoritySignature extends Signature {
}
/** @name Heartbeat */
export interface Heartbeat extends Struct {
    readonly blockNumber: BlockNumber;
    readonly networkState: OpaqueNetworkState;
    readonly sessionIndex: SessionIndex;
    readonly authorityIndex: AuthIndex;
    readonly validatorsLen: u32;
}
/** @name HeartbeatTo244 */
export interface HeartbeatTo244 extends Struct {
    readonly blockNumber: BlockNumber;
    readonly networkState: OpaqueNetworkState;
    readonly sessionIndex: SessionIndex;
    readonly authorityIndex: AuthIndex;
}
/** @name OpaqueMultiaddr */
export interface OpaqueMultiaddr extends WrapperOpaque<Bytes> {
}
/** @name OpaqueNetworkState */
export interface OpaqueNetworkState extends Struct {
    readonly peerId: OpaquePeerId;
    readonly externalAddresses: Vec<OpaqueMultiaddr>;
}
/** @name OpaquePeerId */
export interface OpaquePeerId extends WrapperOpaque<Bytes> {
}
export type PHANTOM_IMONLINE = 'imOnline';
