import { MessageType } from "@protobuf-ts/runtime";
export interface ExecutionStatus {
    success?: boolean;
    error?: ExecutionError;
}
export interface ExecutionError {
    description?: string;
    command?: bigint;
    kind?: ExecutionError_ExecutionErrorKind;
    errorDetails: {
        oneofKind: "abort";
        abort: MoveAbort;
    } | {
        oneofKind: "sizeError";
        sizeError: SizeError;
    } | {
        oneofKind: "commandArgumentError";
        commandArgumentError: CommandArgumentError;
    } | {
        oneofKind: "typeArgumentError";
        typeArgumentError: TypeArgumentError;
    } | {
        oneofKind: "packageUpgradeError";
        packageUpgradeError: PackageUpgradeError;
    } | {
        oneofKind: "indexError";
        indexError: IndexError;
    } | {
        oneofKind: "objectId";
        objectId: string;
    } | {
        oneofKind: "coinDenyListError";
        coinDenyListError: CoinDenyListError;
    } | {
        oneofKind: "congestedObjects";
        congestedObjects: CongestedObjects;
    } | {
        oneofKind: undefined;
    };
}
export declare enum ExecutionError_ExecutionErrorKind {
    EXECUTION_ERROR_KIND_UNKNOWN = 0,
    INSUFFICIENT_GAS = 1,
    INVALID_GAS_OBJECT = 2,
    INVARIANT_VIOLATION = 3,
    FEATURE_NOT_YET_SUPPORTED = 4,
    OBJECT_TOO_BIG = 5,
    PACKAGE_TOO_BIG = 6,
    CIRCULAR_OBJECT_OWNERSHIP = 7,
    INSUFFICIENT_COIN_BALANCE = 8,
    COIN_BALANCE_OVERFLOW = 9,
    PUBLISH_ERROR_NON_ZERO_ADDRESS = 10,
    WOW_MOVE_VERIFICATION_ERROR = 11,
    MOVE_PRIMITIVE_RUNTIME_ERROR = 12,
    MOVE_ABORT = 13,
    VM_VERIFICATION_OR_DESERIALIZATION_ERROR = 14,
    VM_INVARIANT_VIOLATION = 15,
    FUNCTION_NOT_FOUND = 16,
    ARITY_MISMATCH = 17,
    TYPE_ARITY_MISMATCH = 18,
    NON_ENTRY_FUNCTION_INVOKED = 19,
    COMMAND_ARGUMENT_ERROR = 20,
    TYPE_ARGUMENT_ERROR = 21,
    UNUSED_VALUE_WITHOUT_DROP = 22,
    INVALID_PUBLIC_FUNCTION_RETURN_TYPE = 23,
    INVALID_TRANSFER_OBJECT = 24,
    EFFECTS_TOO_LARGE = 25,
    PUBLISH_UPGRADE_MISSING_DEPENDENCY = 26,
    PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE = 27,
    PACKAGE_UPGRADE_ERROR = 28,
    WRITTEN_OBJECTS_TOO_LARGE = 29,
    CERTIFICATE_DENIED = 30,
    WOW_MOVE_VERIFICATION_TIMEDOUT = 31,
    CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED = 32,
    INPUT_OBJECT_DELETED = 33,
    EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION = 34,
    ADDRESS_DENIED_FOR_COIN = 35,
    COIN_TYPE_GLOBAL_PAUSE = 36,
    EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE = 37,
    MOVE_VECTOR_ELEM_TOO_BIG = 38,
    MOVE_RAW_VALUE_TOO_BIG = 39,
    INVALID_LINKAGE = 40
}
export interface MoveAbort {
    abortCode?: bigint;
    location?: MoveLocation;
    cleverError?: CleverError;
}
export interface MoveLocation {
    package?: string;
    module?: string;
    function?: number;
    instruction?: number;
    functionName?: string;
}
export interface CleverError {
    errorCode?: bigint;
    lineNumber?: bigint;
    constantName?: string;
    constantType?: string;
    value: {
        oneofKind: "rendered";
        rendered: string;
    } | {
        oneofKind: "raw";
        raw: Uint8Array;
    } | {
        oneofKind: undefined;
    };
}
export interface SizeError {
    size?: bigint;
    maxSize?: bigint;
}
export interface IndexError {
    index?: number;
    subresult?: number;
}
export interface CoinDenyListError {
    address?: string;
    coinType?: string;
}
export interface CongestedObjects {
    objects: string[];
}
export interface CommandArgumentError {
    argument?: number;
    kind?: CommandArgumentError_CommandArgumentErrorKind;
    indexError?: IndexError;
}
export declare enum CommandArgumentError_CommandArgumentErrorKind {
    COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN = 0,
    TYPE_MISMATCH = 1,
    INVALID_BCS_BYTES = 2,
    INVALID_USAGE_OF_PURE_ARGUMENT = 3,
    INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION = 4,
    INDEX_OUT_OF_BOUNDS = 5,
    SECONDARY_INDEX_OUT_OF_BOUNDS = 6,
    INVALID_RESULT_ARITY = 7,
    INVALID_GAS_COIN_USAGE = 8,
    INVALID_VALUE_USAGE = 9,
    INVALID_OBJECT_BY_VALUE = 10,
    INVALID_OBJECT_BY_MUT_REF = 11,
    CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED = 12,
    INVALID_ARGUMENT_ARITY = 13
}
export interface PackageUpgradeError {
    kind?: PackageUpgradeError_PackageUpgradeErrorKind;
    packageId?: string;
    digest?: string;
    policy?: number;
    ticketId?: string;
}
export declare enum PackageUpgradeError_PackageUpgradeErrorKind {
    PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN = 0,
    UNABLE_TO_FETCH_PACKAGE = 1,
    NOT_A_PACKAGE = 2,
    INCOMPATIBLE_UPGRADE = 3,
    DIGEST_DOES_NOT_MATCH = 4,
    UNKNOWN_UPGRADE_POLICY = 5,
    PACKAGE_ID_DOES_NOT_MATCH = 6
}
export interface TypeArgumentError {
    typeArgument?: number;
    kind?: TypeArgumentError_TypeArgumentErrorKind;
}
export declare enum TypeArgumentError_TypeArgumentErrorKind {
    TYPE_ARGUMENT_ERROR_KIND_UNKNOWN = 0,
    TYPE_NOT_FOUND = 1,
    CONSTRAINT_NOT_SATISFIED = 2
}
declare class ExecutionStatus$Type extends MessageType<ExecutionStatus> {
    constructor();
}
export declare const ExecutionStatus: ExecutionStatus$Type;
declare class ExecutionError$Type extends MessageType<ExecutionError> {
    constructor();
}
export declare const ExecutionError: ExecutionError$Type;
declare class MoveAbort$Type extends MessageType<MoveAbort> {
    constructor();
}
export declare const MoveAbort: MoveAbort$Type;
declare class MoveLocation$Type extends MessageType<MoveLocation> {
    constructor();
}
export declare const MoveLocation: MoveLocation$Type;
declare class CleverError$Type extends MessageType<CleverError> {
    constructor();
}
export declare const CleverError: CleverError$Type;
declare class SizeError$Type extends MessageType<SizeError> {
    constructor();
}
export declare const SizeError: SizeError$Type;
declare class IndexError$Type extends MessageType<IndexError> {
    constructor();
}
export declare const IndexError: IndexError$Type;
declare class CoinDenyListError$Type extends MessageType<CoinDenyListError> {
    constructor();
}
export declare const CoinDenyListError: CoinDenyListError$Type;
declare class CongestedObjects$Type extends MessageType<CongestedObjects> {
    constructor();
}
export declare const CongestedObjects: CongestedObjects$Type;
declare class CommandArgumentError$Type extends MessageType<CommandArgumentError> {
    constructor();
}
export declare const CommandArgumentError: CommandArgumentError$Type;
declare class PackageUpgradeError$Type extends MessageType<PackageUpgradeError> {
    constructor();
}
export declare const PackageUpgradeError: PackageUpgradeError$Type;
declare class TypeArgumentError$Type extends MessageType<TypeArgumentError> {
    constructor();
}
export declare const TypeArgumentError: TypeArgumentError$Type;
export {};
