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 { PongExtensionFields } from "./extensions/ping_pong";
import { PingExtensionFields } from "./extensions/ping_pong";
/**
 * @generated from protobuf message iscp2.Ping
 */
export interface Ping {
    /**
     * @generated from protobuf field: uint32 request_id = 1;
     */
    requestId: number;
    /**
     * @generated from protobuf field: iscp2.PingExtensionFields extension_fields = 2;
     */
    extensionFields?: PingExtensionFields;
}
/**
 * @generated from protobuf message iscp2.Pong
 */
export interface Pong {
    /**
     * @generated from protobuf field: uint32 request_id = 1;
     */
    requestId: number;
    /**
     * @generated from protobuf field: iscp2.PongExtensionFields extension_fields = 2;
     */
    extensionFields?: PongExtensionFields;
}
declare class Ping$Type extends MessageType<Ping> {
    constructor();
    create(value?: PartialMessage<Ping>): Ping;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Ping): Ping;
    internalBinaryWrite(message: Ping, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.Ping
 */
export declare const Ping: Ping$Type;
declare class Pong$Type extends MessageType<Pong> {
    constructor();
    create(value?: PartialMessage<Pong>): Pong;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Pong): Pong;
    internalBinaryWrite(message: Pong, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.Pong
 */
export declare const Pong: Pong$Type;
export {};
