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";
/**
 * @generated from protobuf message iscp2.StreamChunk
 */
export interface StreamChunk {
    /**
     * @generated from protobuf field: uint32 sequence_number = 1;
     */
    sequenceNumber: number;
    /**
     * @generated from protobuf field: repeated iscp2.DataPointGroup data_point_groups = 2;
     */
    dataPointGroups: DataPointGroup[];
}
/**
 * @generated from protobuf message iscp2.DataPointGroup
 */
export interface DataPointGroup {
    /**
     * @generated from protobuf oneof: data_id_or_alias
     */
    dataIdOrAlias: {
        oneofKind: "dataId";
        /**
         * @generated from protobuf field: iscp2.DataID data_id = 1;
         */
        dataId: DataID;
    } | {
        oneofKind: "dataIdAlias";
        /**
         * @generated from protobuf field: uint32 data_id_alias = 2;
         */
        dataIdAlias: number;
    } | {
        oneofKind: undefined;
    };
    /**
     * @generated from protobuf field: repeated iscp2.DataPoint data_points = 3;
     */
    dataPoints: DataPoint[];
}
/**
 * @generated from protobuf message iscp2.DataPoint
 */
export interface DataPoint {
    /**
     * @generated from protobuf field: sint64 elapsed_time = 1;
     */
    elapsedTime: bigint;
    /**
     * @generated from protobuf field: bytes payload = 2;
     */
    payload: Uint8Array;
}
/**
 * @generated from protobuf message iscp2.DataID
 */
export interface DataID {
    /**
     * @generated from protobuf field: string name = 1;
     */
    name: string;
    /**
     * @generated from protobuf field: string type = 2;
     */
    type: string;
}
/**
 * @generated from protobuf message iscp2.DownstreamFilter
 */
export interface DownstreamFilter {
    /**
     * @generated from protobuf field: string source_node_id = 1;
     */
    sourceNodeId: string;
    /**
     * @generated from protobuf field: repeated iscp2.DataFilter data_filters = 2;
     */
    dataFilters: DataFilter[];
}
/**
 * @generated from protobuf message iscp2.DataFilter
 */
export interface DataFilter {
    /**
     * @generated from protobuf field: string name = 1;
     */
    name: string;
    /**
     * @generated from protobuf field: string type = 2;
     */
    type: string;
}
/**
 * @generated from protobuf enum iscp2.QoS
 */
export declare enum QoS {
    /**
     * @generated from protobuf enum value: UNRELIABLE = 0;
     */
    UNRELIABLE = 0,
    /**
     * @generated from protobuf enum value: RELIABLE = 1;
     */
    RELIABLE = 1,
    /**
     * @generated from protobuf enum value: PARTIAL = 2;
     */
    PARTIAL = 2
}
declare class StreamChunk$Type extends MessageType<StreamChunk> {
    constructor();
    create(value?: PartialMessage<StreamChunk>): StreamChunk;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: StreamChunk): StreamChunk;
    internalBinaryWrite(message: StreamChunk, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.StreamChunk
 */
export declare const StreamChunk: StreamChunk$Type;
declare class DataPointGroup$Type extends MessageType<DataPointGroup> {
    constructor();
    create(value?: PartialMessage<DataPointGroup>): DataPointGroup;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DataPointGroup): DataPointGroup;
    internalBinaryWrite(message: DataPointGroup, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DataPointGroup
 */
export declare const DataPointGroup: DataPointGroup$Type;
declare class DataPoint$Type extends MessageType<DataPoint> {
    constructor();
    create(value?: PartialMessage<DataPoint>): DataPoint;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DataPoint): DataPoint;
    internalBinaryWrite(message: DataPoint, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DataPoint
 */
export declare const DataPoint: DataPoint$Type;
declare class DataID$Type extends MessageType<DataID> {
    constructor();
    create(value?: PartialMessage<DataID>): DataID;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DataID): DataID;
    internalBinaryWrite(message: DataID, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DataID
 */
export declare const DataID: DataID$Type;
declare class DownstreamFilter$Type extends MessageType<DownstreamFilter> {
    constructor();
    create(value?: PartialMessage<DownstreamFilter>): DownstreamFilter;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DownstreamFilter): DownstreamFilter;
    internalBinaryWrite(message: DownstreamFilter, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DownstreamFilter
 */
export declare const DownstreamFilter: DownstreamFilter$Type;
declare class DataFilter$Type extends MessageType<DataFilter> {
    constructor();
    create(value?: PartialMessage<DataFilter>): DataFilter;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DataFilter): DataFilter;
    internalBinaryWrite(message: DataFilter, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message iscp2.DataFilter
 */
export declare const DataFilter: DataFilter$Type;
export {};
