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 { DownstreamFilter } from "./common";
import { QoS } from "./common";
/**
 * @generated from protobuf message iscp2.BaseTime
 */
export interface BaseTime {
    /**
     * @generated from protobuf field: string session_id = 1;
     */
    sessionId: string;
    /**
     * @generated from protobuf field: string name = 2;
     */
    name: string;
    /**
     * @generated from protobuf field: uint32 priority = 3;
     */
    priority: number;
    /**
     * @generated from protobuf field: uint64 elapsed_time = 4;
     */
    elapsedTime: bigint;
    /**
     * @generated from protobuf field: sint64 base_time = 5;
     */
    baseTime: bigint;
}
/**
 * @generated from protobuf message iscp2.UpstreamOpen
 */
export interface UpstreamOpen {
    /**
     * @generated from protobuf field: bytes stream_id = 1;
     */
    streamId: Uint8Array;
    /**
     * @generated from protobuf field: string session_id = 2;
     */
    sessionId: string;
    /**
     * @generated from protobuf field: iscp2.QoS qos = 3;
     */
    qos: QoS;
}
/**
 * @generated from protobuf message iscp2.UpstreamAbnormalClose
 */
export interface UpstreamAbnormalClose {
    /**
     * @generated from protobuf field: bytes stream_id = 1;
     */
    streamId: Uint8Array;
    /**
     * @generated from protobuf field: string session_id = 2;
     */
    sessionId: string;
}
/**
 * @generated from protobuf message iscp2.UpstreamResume
 */
export interface UpstreamResume {
    /**
     * @generated from protobuf field: bytes stream_id = 1;
     */
    streamId: Uint8Array;
    /**
     * @generated from protobuf field: string session_id = 2;
     */
    sessionId: string;
    /**
     * @generated from protobuf field: iscp2.QoS qos = 3;
     */
    qos: QoS;
}
/**
 * @generated from protobuf message iscp2.UpstreamNormalClose
 */
export interface UpstreamNormalClose {
    /**
     * @generated from protobuf field: bytes stream_id = 1;
     */
    streamId: Uint8Array;
    /**
     * @generated from protobuf field: string session_id = 2;
     */
    sessionId: string;
    /**
     * @generated from protobuf field: uint64 total_data_points = 3;
     */
    totalDataPoints: bigint;
    /**
     * @generated from protobuf field: uint32 final_sequence_number = 4;
     */
    finalSequenceNumber: number;
}
/**
 * @generated from protobuf message iscp2.DownstreamOpen
 */
export interface DownstreamOpen {
    /**
     * @generated from protobuf field: bytes stream_id = 1;
     */
    streamId: Uint8Array;
    /**
     * @generated from protobuf field: repeated iscp2.DownstreamFilter downstream_filters = 2;
     */
    downstreamFilters: DownstreamFilter[];
    /**
     * @generated from protobuf field: iscp2.QoS qos = 3;
     */
    qos: QoS;
}
/**
 * @generated from protobuf message iscp2.DownstreamAbnormalClose
 */
export interface DownstreamAbnormalClose {
    /**
     * @generated from protobuf field: bytes stream_id = 1;
     */
    streamId: Uint8Array;
}
/**
 * @generated from protobuf message iscp2.DownstreamResume
 */
export interface DownstreamResume {
    /**
     * @generated from protobuf field: bytes stream_id = 1;
     */
    streamId: Uint8Array;
    /**
     * @generated from protobuf field: repeated iscp2.DownstreamFilter downstream_filters = 2;
     */
    downstreamFilters: DownstreamFilter[];
    /**
     * @generated from protobuf field: iscp2.QoS qos = 3;
     */
    qos: QoS;
}
/**
 * @generated from protobuf message iscp2.DownstreamNormalClose
 */
export interface DownstreamNormalClose {
    /**
     * @generated from protobuf field: bytes stream_id = 1;
     */
    streamId: Uint8Array;
}
declare class BaseTime$Type extends MessageType<BaseTime> {
    constructor();
    create(value?: PartialMessage<BaseTime>): BaseTime;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: BaseTime): BaseTime;
    internalBinaryWrite(message: BaseTime, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.BaseTime
 */
export declare const BaseTime: BaseTime$Type;
declare class UpstreamOpen$Type extends MessageType<UpstreamOpen> {
    constructor();
    create(value?: PartialMessage<UpstreamOpen>): UpstreamOpen;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpstreamOpen): UpstreamOpen;
    internalBinaryWrite(message: UpstreamOpen, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.UpstreamOpen
 */
export declare const UpstreamOpen: UpstreamOpen$Type;
declare class UpstreamAbnormalClose$Type extends MessageType<UpstreamAbnormalClose> {
    constructor();
    create(value?: PartialMessage<UpstreamAbnormalClose>): UpstreamAbnormalClose;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpstreamAbnormalClose): UpstreamAbnormalClose;
    internalBinaryWrite(message: UpstreamAbnormalClose, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.UpstreamAbnormalClose
 */
export declare const UpstreamAbnormalClose: UpstreamAbnormalClose$Type;
declare class UpstreamResume$Type extends MessageType<UpstreamResume> {
    constructor();
    create(value?: PartialMessage<UpstreamResume>): UpstreamResume;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpstreamResume): UpstreamResume;
    internalBinaryWrite(message: UpstreamResume, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.UpstreamResume
 */
export declare const UpstreamResume: UpstreamResume$Type;
declare class UpstreamNormalClose$Type extends MessageType<UpstreamNormalClose> {
    constructor();
    create(value?: PartialMessage<UpstreamNormalClose>): UpstreamNormalClose;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpstreamNormalClose): UpstreamNormalClose;
    internalBinaryWrite(message: UpstreamNormalClose, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.UpstreamNormalClose
 */
export declare const UpstreamNormalClose: UpstreamNormalClose$Type;
declare class DownstreamOpen$Type extends MessageType<DownstreamOpen> {
    constructor();
    create(value?: PartialMessage<DownstreamOpen>): DownstreamOpen;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DownstreamOpen): DownstreamOpen;
    internalBinaryWrite(message: DownstreamOpen, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DownstreamOpen
 */
export declare const DownstreamOpen: DownstreamOpen$Type;
declare class DownstreamAbnormalClose$Type extends MessageType<DownstreamAbnormalClose> {
    constructor();
    create(value?: PartialMessage<DownstreamAbnormalClose>): DownstreamAbnormalClose;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DownstreamAbnormalClose): DownstreamAbnormalClose;
    internalBinaryWrite(message: DownstreamAbnormalClose, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DownstreamAbnormalClose
 */
export declare const DownstreamAbnormalClose: DownstreamAbnormalClose$Type;
declare class DownstreamResume$Type extends MessageType<DownstreamResume> {
    constructor();
    create(value?: PartialMessage<DownstreamResume>): DownstreamResume;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DownstreamResume): DownstreamResume;
    internalBinaryWrite(message: DownstreamResume, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DownstreamResume
 */
export declare const DownstreamResume: DownstreamResume$Type;
declare class DownstreamNormalClose$Type extends MessageType<DownstreamNormalClose> {
    constructor();
    create(value?: PartialMessage<DownstreamNormalClose>): DownstreamNormalClose;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DownstreamNormalClose): DownstreamNormalClose;
    internalBinaryWrite(message: DownstreamNormalClose, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DownstreamNormalClose
 */
export declare const DownstreamNormalClose: DownstreamNormalClose$Type;
export {};
