import { Codec, ITuple } from "../../types";
import { Enum, Option, Result, Struct, Vec } from "../../codec";
import { Bytes, GenericEvent, Text, u32, u8 } from "../../primitive";
import { Digest, Hash } from "../runtime";
/** @name DigestOf */
export interface DigestOf extends Digest {
}
/** @name DispatchError */
export interface DispatchError extends Enum {
    readonly isOther: boolean;
    readonly isCannotLookup: boolean;
    readonly isBadOrigin: boolean;
    readonly isModule: boolean;
    readonly asModule: DispatchErrorModule;
}
/** @name DispatchErrorModule */
export interface DispatchErrorModule extends Struct {
    readonly index: u8;
    readonly error: u8;
}
/** @name DispatchErrorTo198 */
export interface DispatchErrorTo198 extends Struct {
    readonly module: Option<u8>;
    readonly error: u8;
}
/** @name DispatchResult */
export interface DispatchResult extends Result<ITuple<[]>, DispatchError> {
    readonly isError: boolean;
    readonly asError: DispatchError;
    readonly isOk: boolean;
    readonly asOk: ITuple<[]>;
}
/** @name DispatchResultOf */
export interface DispatchResultOf extends DispatchResult {
}
/** @name DispatchResultTo198 */
export interface DispatchResultTo198 extends Result<ITuple<[]>, Text> {
    readonly isError: boolean;
    readonly asError: Text;
    readonly isOk: boolean;
    readonly asOk: ITuple<[]>;
}
/** @name Event */
export interface Event extends GenericEvent {
}
/** @name EventId */
export interface EventId extends Uint8Array, Codec {
}
/** @name EventIndex */
export interface EventIndex extends u32 {
}
/** @name EventRecord */
export interface EventRecord extends Struct {
    readonly phase: Phase;
    readonly event: Event;
    readonly topics: Vec<Hash>;
}
/** @name EventRecordTo76 */
export interface EventRecordTo76 extends Struct {
    readonly phase: Phase;
    readonly event: Event;
}
/** @name Key */
export interface Key extends Bytes {
}
/** @name Phase */
export interface Phase extends Enum {
    readonly isApplyExtrinsic: boolean;
    readonly asApplyExtrinsic: u32;
    readonly isFinalization: boolean;
}
