import type { QoS } from './common';
import { DownstreamFilter } from './common';
/**
 * 基準時刻です。
 * @category Metadata
 */
export declare class BaseTime {
    /** セッションID。 */
    sessionId: string;
    /** 名前。 */
    name: string;
    /** 優先度。 */
    priority: number;
    /** 経過時間（ナノ秒）。 */
    elapsedTime: bigint;
    /** 時刻（ナノ秒単位のUNIXタイムスタンプ）。 */
    baseTime: bigint;
    constructor(init: {
        sessionId: BaseTime['sessionId'];
        name: BaseTime['name'];
        priority: BaseTime['priority'];
        elapsedTime: BaseTime['elapsedTime'];
        baseTime: BaseTime['baseTime'];
    });
}
/**
 * あるアップストリームが開いたことを知らせるメタデータです。
 * @category Metadata
 */
export declare class UpstreamOpen {
    /** ストリームID。 */
    streamId: string;
    /** セッションID。 */
    sessionId: string;
    /** QoS。 */
    qos: QoS;
    constructor(init: {
        streamId: UpstreamOpen['streamId'];
        sessionId: UpstreamOpen['sessionId'];
        qos: UpstreamOpen['qos'];
    });
}
/**
 * あるアップストリームが異常切断したことを知らせるメタデータです。
 * @category Metadata
 */
export declare class UpstreamAbnormalClose {
    /** ストリームID。 */
    streamId: string;
    /** セッションID。 */
    sessionId: string;
    constructor(init: {
        streamId: UpstreamAbnormalClose['streamId'];
        sessionId: UpstreamAbnormalClose['sessionId'];
    });
}
/**
 * あるアップストリームが再開したことを知らせるメタデータです。
 * @category Metadata
 */
export declare class UpstreamResume {
    /** ストリームID。 */
    streamId: string;
    /** セッションID。 */
    sessionId: string;
    /** QoS。 */
    qos: QoS;
    constructor(init: {
        streamId: UpstreamResume['streamId'];
        sessionId: UpstreamResume['sessionId'];
        qos: UpstreamResume['qos'];
    });
}
/**
 * あるアップストリームが正常切断したことを知らせるメタデータです。
 * @category Metadata
 */
export declare class UpstreamNormalClose {
    /** ストリームID。 */
    streamId: string;
    /** セッションID。 */
    sessionId: string;
    /** 総データポイント数。 */
    totalDataPoints: bigint;
    /** 最終シーケンス番号。 */
    finalSequenceNumber: number;
    constructor(init: {
        streamId: UpstreamNormalClose['streamId'];
        sessionId: UpstreamNormalClose['sessionId'];
        totalDataPoints: UpstreamNormalClose['totalDataPoints'];
        finalSequenceNumber: UpstreamNormalClose['finalSequenceNumber'];
    });
}
/**
 * あるダウンストリームが開いたことを知らせるメタデータです。
 * @category Metadata
 */
export declare class DownstreamOpen {
    /** ストリームID。 */
    streamId: string;
    /** ダウンストリームフィルタのリスト。 */
    downstreamFilters: DownstreamFilter[];
    /** QoS。 */
    qos: QoS;
    constructor(init: {
        streamId: DownstreamOpen['streamId'];
        downstreamFilters: DownstreamOpen['downstreamFilters'];
        qos: DownstreamOpen['qos'];
    });
}
/**
 * あるダウンストリームが異常切断したことを知らせるメタデータです。
 * @category Metadata
 */
export declare class DownstreamAbnormalClose {
    /** ストリームID。 */
    streamId: string;
    constructor(init: {
        streamId: DownstreamAbnormalClose['streamId'];
    });
}
/**
 * あるダウンストリームが再開したことを知らせるメタデータです。
 * @category Metadata
 */
export declare class DownstreamResume {
    /** ストリームID。 */
    streamId: string;
    /** ダウンストリームフィルタのリスト。 */
    downstreamFilters: DownstreamFilter[];
    /** QoS。 */
    qos: QoS;
    constructor(init: {
        streamId: DownstreamResume['streamId'];
        downstreamFilters: DownstreamResume['downstreamFilters'];
        qos: DownstreamResume['qos'];
    });
}
/**
 * あるダウンストリームが正常切断したことを知らせるメタデータです。
 * @category Metadata
 */
export declare class DownstreamNormalClose {
    /** ストリームID。 */
    streamId: string;
    constructor(init: {
        streamId: DownstreamNormalClose['streamId'];
    });
}
