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 { DisconnectExtensionFields } from "./extensions/connection";
import { ConnectResponseExtensionFields } from "./extensions/connection";
import { ResultCode } from "./result_code";
import { ConnectRequestExtensionFields } from "./extensions/connection";
/**
 * @generated from protobuf message iscp2.ConnectRequest
 */
export interface ConnectRequest {
    /**
     * @generated from protobuf field: uint32 request_id = 1;
     */
    requestId: number;
    /**
     * @generated from protobuf field: string protocol_version = 2;
     */
    protocolVersion: string;
    /**
     * @generated from protobuf field: string node_id = 3;
     */
    nodeId: string;
    /**
     * @generated from protobuf field: uint32 ping_interval = 4;
     */
    pingInterval: number;
    /**
     * @generated from protobuf field: uint32 ping_timeout = 5;
     */
    pingTimeout: number;
    /**
     * @generated from protobuf field: iscp2.ConnectRequestExtensionFields extension_fields = 6;
     */
    extensionFields?: ConnectRequestExtensionFields;
}
/**
 * @generated from protobuf message iscp2.ConnectResponse
 */
export interface ConnectResponse {
    /**
     * @generated from protobuf field: uint32 request_id = 1;
     */
    requestId: number;
    /**
     * @generated from protobuf field: string protocol_version = 2;
     */
    protocolVersion: string;
    /**
     * @generated from protobuf field: iscp2.ResultCode result_code = 3;
     */
    resultCode: ResultCode;
    /**
     * @generated from protobuf field: string result_string = 4;
     */
    resultString: string;
    /**
     * @generated from protobuf field: iscp2.ConnectResponseExtensionFields extension_fields = 5;
     */
    extensionFields?: ConnectResponseExtensionFields;
}
/**
 * @generated from protobuf message iscp2.Disconnect
 */
export interface Disconnect {
    /**
     * @generated from protobuf field: iscp2.ResultCode result_code = 1;
     */
    resultCode: ResultCode;
    /**
     * @generated from protobuf field: string result_string = 2;
     */
    resultString: string;
    /**
     * @generated from protobuf field: iscp2.DisconnectExtensionFields extension_fields = 3;
     */
    extensionFields?: DisconnectExtensionFields;
}
declare class ConnectRequest$Type extends MessageType<ConnectRequest> {
    constructor();
    create(value?: PartialMessage<ConnectRequest>): ConnectRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ConnectRequest): ConnectRequest;
    internalBinaryWrite(message: ConnectRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.ConnectRequest
 */
export declare const ConnectRequest: ConnectRequest$Type;
declare class ConnectResponse$Type extends MessageType<ConnectResponse> {
    constructor();
    create(value?: PartialMessage<ConnectResponse>): ConnectResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ConnectResponse): ConnectResponse;
    internalBinaryWrite(message: ConnectResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.ConnectResponse
 */
export declare const ConnectResponse: ConnectResponse$Type;
declare class Disconnect$Type extends MessageType<Disconnect> {
    constructor();
    create(value?: PartialMessage<Disconnect>): Disconnect;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Disconnect): Disconnect;
    internalBinaryWrite(message: Disconnect, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.Disconnect
 */
export declare const Disconnect: Disconnect$Type;
export {};
