import { ConfigurableModule, NoConfig, Presets } from "@proto-kit/common"; import { NetworkState, RuntimeTransaction, RuntimeMethodExecutionData } from "@proto-kit/protocol"; import { FlexibleProvablePure, Provable, Bool } from "o1js"; import { OutgoingMessages, OutgoingMessagesRecord } from "../messages/OutgoingMessages"; import { RuntimeEnvironment } from "./RuntimeEnvironment"; type EventRecord = Record>; type InferProvable> = T extends Provable ? U : never; export declare class RuntimeEvents { private readonly events; constructor(events: Events); emitIf(condition: Bool, eventName: Key, event: InferProvable): void; emit(eventName: Key, event: InferProvable): void; } /** * Base class for runtime modules providing the necessary utilities. */ export declare class RuntimeModule extends ConfigurableModule { static presets: Presets; /** * Holds all method names that are callable throw transactions */ readonly runtimeMethodNames: string[]; /** * This property exists only to typecheck that the RuntimeModule * was extended correctly in e.g. a decorator. We need at least * one non-optional property in this class to make the typechecking work. */ isRuntimeModule: boolean; name?: string; parent?: RuntimeEnvironment; events?: RuntimeEvents; messages?: OutgoingMessages; constructor(); getInputs(): RuntimeMethodExecutionData; get transaction(): RuntimeTransaction; get network(): NetworkState; } export {}; //# sourceMappingURL=RuntimeModule.d.ts.map