import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { DownstreamCallExtensionFields } from "./extensions/e2e_call";
import { UpstreamCallAckExtensionFields } from "./extensions/e2e_call";
import { ResultCode } from "./result_code";
import { UpstreamCallExtensionFields } from "./extensions/e2e_call";
/**
 * @generated from protobuf message iscp2.UpstreamCall
 */
export interface UpstreamCall {
    /**
     * @generated from protobuf field: string call_id = 1;
     */
    callId: string;
    /**
     * @generated from protobuf field: string request_call_id = 2;
     */
    requestCallId: string;
    /**
     * @generated from protobuf field: string destination_node_id = 3;
     */
    destinationNodeId: string;
    /**
     * @generated from protobuf field: string name = 4;
     */
    name: string;
    /**
     * @generated from protobuf field: string type = 5;
     */
    type: string;
    /**
     * @generated from protobuf field: bytes payload = 6;
     */
    payload: Uint8Array;
    /**
     * @generated from protobuf field: iscp2.UpstreamCallExtensionFields extension_fields = 7;
     */
    extensionFields?: UpstreamCallExtensionFields;
}
/**
 * @generated from protobuf message iscp2.UpstreamCallAck
 */
export interface UpstreamCallAck {
    /**
     * @generated from protobuf field: string call_id = 1;
     */
    callId: string;
    /**
     * @generated from protobuf field: iscp2.ResultCode result_code = 2;
     */
    resultCode: ResultCode;
    /**
     * @generated from protobuf field: string result_string = 3;
     */
    resultString: string;
    /**
     * @generated from protobuf field: iscp2.UpstreamCallAckExtensionFields extension_fields = 4;
     */
    extensionFields?: UpstreamCallAckExtensionFields;
}
/**
 * @generated from protobuf message iscp2.DownstreamCall
 */
export interface DownstreamCall {
    /**
     * @generated from protobuf field: string call_id = 1;
     */
    callId: string;
    /**
     * @generated from protobuf field: string request_call_id = 2;
     */
    requestCallId: string;
    /**
     * @generated from protobuf field: string source_node_id = 3;
     */
    sourceNodeId: string;
    /**
     * @generated from protobuf field: string name = 4;
     */
    name: string;
    /**
     * @generated from protobuf field: string type = 5;
     */
    type: string;
    /**
     * @generated from protobuf field: bytes payload = 6;
     */
    payload: Uint8Array;
    /**
     * @generated from protobuf field: iscp2.DownstreamCallExtensionFields extension_fields = 7;
     */
    extensionFields?: DownstreamCallExtensionFields;
}
declare class UpstreamCall$Type extends MessageType<UpstreamCall> {
    constructor();
    create(value?: PartialMessage<UpstreamCall>): UpstreamCall;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpstreamCall): UpstreamCall;
    internalBinaryWrite(message: UpstreamCall, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.UpstreamCall
 */
export declare const UpstreamCall: UpstreamCall$Type;
declare class UpstreamCallAck$Type extends MessageType<UpstreamCallAck> {
    constructor();
    create(value?: PartialMessage<UpstreamCallAck>): UpstreamCallAck;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpstreamCallAck): UpstreamCallAck;
    internalBinaryWrite(message: UpstreamCallAck, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.UpstreamCallAck
 */
export declare const UpstreamCallAck: UpstreamCallAck$Type;
declare class DownstreamCall$Type extends MessageType<DownstreamCall> {
    constructor();
    create(value?: PartialMessage<DownstreamCall>): DownstreamCall;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DownstreamCall): DownstreamCall;
    internalBinaryWrite(message: DownstreamCall, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DownstreamCall
 */
export declare const DownstreamCall: DownstreamCall$Type;
export {};
