@apocaliss92/nodelink-js 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -518,33 +518,33 @@ declare function normalizeOpenClose(input: string): string;
518
518
  declare function buildAbilityInfoExtensionXml(username: string): string;
519
519
 
520
520
  type LogLevel = "silent" | "error" | "warn" | "info" | "debug";
521
- interface Logger$1 {
521
+ interface Logger$2 {
522
522
  log(message?: unknown, ...optionalParams: unknown[]): void;
523
523
  info(message?: unknown, ...optionalParams: unknown[]): void;
524
524
  warn(message?: unknown, ...optionalParams: unknown[]): void;
525
525
  error(message?: unknown, ...optionalParams: unknown[]): void;
526
526
  debug(message?: unknown, ...optionalParams: unknown[]): void;
527
527
  /** Create a child logger that prefixes messages with the given tag. */
528
- child?(tag: string): Logger$1;
528
+ child?(tag: string): Logger$2;
529
529
  }
530
- type LoggerLike = Partial<Logger$1> | Console;
531
- declare function asLogger(logger?: LoggerLike): Logger$1;
532
- declare function createNullLogger(): Logger$1;
530
+ type LoggerLike = Partial<Logger$2> | Console;
531
+ declare function asLogger(logger?: LoggerLike): Logger$2;
532
+ declare function createNullLogger(): Logger$2;
533
533
  declare function createLogger(options?: {
534
534
  base?: LoggerLike;
535
535
  level?: LogLevel;
536
536
  tag?: string;
537
- }): Logger$1;
538
- declare function createTaggedLogger(base: LoggerLike | Logger$1, tag: string): Logger$1;
537
+ }): Logger$2;
538
+ declare function createTaggedLogger(base: LoggerLike | Logger$2, tag: string): Logger$2;
539
539
  /**
540
540
  * Wrap a base logger so that `debug()` is a no-op unless `enabled`.
541
541
  * Useful to route verbosity through `DebugOptions` without touching every callsite.
542
542
  */
543
- declare function createDebugGateLogger(base?: LoggerLike, enabled?: boolean): Logger$1;
544
- declare function setGlobalLogger(logger: LoggerLike | Logger$1 | undefined): void;
545
- declare function getGlobalLogger(): Logger$1;
543
+ declare function createDebugGateLogger(base?: LoggerLike, enabled?: boolean): Logger$2;
544
+ declare function setGlobalLogger(logger: LoggerLike | Logger$2 | undefined): void;
545
+ declare function getGlobalLogger(): Logger$2;
546
546
 
547
- type Logger = Logger$1;
547
+ type Logger$1 = Logger$2;
548
548
  type DebugOptions = {
549
549
  /** Enables generic debug logs. */
550
550
  general?: boolean;
@@ -2574,7 +2574,7 @@ type BaichuanClientOptions = {
2574
2574
  /** Structured debug/tracing/dump options. */
2575
2575
  debugOptions?: DebugOptions;
2576
2576
  /** Logger instance (e.g. console). If provided, debug logs will be sent here. */
2577
- logger?: Logger;
2577
+ logger?: Logger$1;
2578
2578
  /**
2579
2579
  * Enable periodic polling used by higher-level APIs (e.g. simple motion/AI events).
2580
2580
  *
@@ -3212,7 +3212,7 @@ declare class BcUdpStream extends EventEmitter<{
3212
3212
  * actionable progress logs without enabling the per-packet debug trace.
3213
3213
  * Safe to call repeatedly; only the most recent logger is used.
3214
3214
  */
3215
- setLogger(logger: Logger | undefined): void;
3215
+ setLogger(logger: Logger$1 | undefined): void;
3216
3216
  isConnected(): boolean;
3217
3217
  connect(): Promise<void>;
3218
3218
  private discoveryUid;
@@ -3980,7 +3980,7 @@ interface CgiGetVideoclipsParams {
3980
3980
  */
3981
3981
  interface CollectNvrDiagnosticsOptions {
3982
3982
  /** Logger for progress messages */
3983
- logger: Logger;
3983
+ logger: Logger$1;
3984
3984
  }
3985
3985
  /**
3986
3986
  * Parameters for getting VOD URL for playback, download, or streaming.
@@ -4011,13 +4011,13 @@ declare class ReolinkCgiApi {
4011
4011
  private nvrDownloadPrepareSupport;
4012
4012
  private recordingsCacheTtlMs;
4013
4013
  constructor(opts: ReolinkHttpClientOptions & {
4014
- logger?: Logger;
4014
+ logger?: Logger$1;
4015
4015
  debugConfig?: DebugConfig;
4016
4016
  });
4017
4017
  /**
4018
4018
  * Set logger for debug output
4019
4019
  */
4020
- setLogger(logger: Logger): void;
4020
+ setLogger(logger: Logger$1): void;
4021
4021
  /**
4022
4022
  * Set debug config for trace logging
4023
4023
  */
@@ -4370,6 +4370,37 @@ declare class ReolinkCgiApi {
4370
4370
  private enrichVodFile;
4371
4371
  }
4372
4372
 
4373
+ /** Event types (from ReolinkSimpleEventType) that may open a live window. */
4374
+ type AlwaysOnTrigger = "motion" | "doorbell" | "people" | "vehicle" | "animal" | "face" | "package";
4375
+ interface PlaceholderOptions {
4376
+ /** Decorate the still (dim + text). Falls back to raw keyframe if ffmpeg is unavailable. Default true. */
4377
+ enabled?: boolean;
4378
+ /** Overlay text. Default "Sleeping". */
4379
+ text?: string;
4380
+ /** Dim factor 0..1 (1 = original brightness). Default 0.5. */
4381
+ opacity?: number;
4382
+ }
4383
+ interface AlwaysOnOptions {
4384
+ enabled: boolean;
4385
+ /** Event types that open a live window. Default ["motion", "doorbell"]. */
4386
+ triggers?: AlwaysOnTrigger[];
4387
+ /** Live window duration after a trigger (ms), extended by new events. Default 15000. */
4388
+ windowMs?: number;
4389
+ /** Placeholder repeat rate while idle (fps). Default 1. */
4390
+ idleFps?: number;
4391
+ /** Wake once on start to capture an initial keyframe. Default true. */
4392
+ primeOnStart?: boolean;
4393
+ /** Placeholder appearance. */
4394
+ placeholder?: PlaceholderOptions;
4395
+ }
4396
+ declare const ALWAYS_ON_DEFAULTS: {
4397
+ triggers: AlwaysOnTrigger[];
4398
+ windowMs: number;
4399
+ idleFps: number;
4400
+ primeOnStart: boolean;
4401
+ placeholder: Required<PlaceholderOptions>;
4402
+ };
4403
+
4373
4404
  /**
4374
4405
  * Baichuan RTSP Server - Builds an RTSP server that serves a Baichuan video stream.
4375
4406
  *
@@ -4393,7 +4424,7 @@ interface BaichuanRtspServerOptions {
4393
4424
  listenHost?: string;
4394
4425
  listenPort?: number;
4395
4426
  path?: string;
4396
- logger?: Logger;
4427
+ logger?: Logger$1;
4397
4428
  /**
4398
4429
  * Framing used when sending RTP packets over a TCP stream.
4399
4430
  * - "rtsp-interleaved": RTSP interleaved framing: '$' + channel + 2-byte length + RTP packet
@@ -4475,6 +4506,15 @@ interface BaichuanRtspServerOptions {
4475
4506
  * Default: false (keep existing behaviour).
4476
4507
  */
4477
4508
  lazyMetadata?: boolean;
4509
+ /**
4510
+ * Always-on continuous stream (battery cameras). When `enabled`, the server
4511
+ * sources video from a {@link ContinuousVideoStream} (real frames during
4512
+ * event-driven live windows, a low-fps placeholder while the camera sleeps)
4513
+ * driven by an {@link AlwaysOnController}. The controller owns the sleep/wake
4514
+ * decision, so the server's own battery idle-stop timers are suppressed.
4515
+ * When omitted/disabled the server behaves exactly as before.
4516
+ */
4517
+ alwaysOn?: AlwaysOnOptions;
4478
4518
  }
4479
4519
  /**
4480
4520
  * BaichuanRtspServer - RTSP server that serves a Baichuan video stream.
@@ -4507,6 +4547,9 @@ declare class BaichuanRtspServer extends EventEmitter<{
4507
4547
  private deviceId;
4508
4548
  private dedicatedSessionRelease;
4509
4549
  private externalListener;
4550
+ private readonly alwaysOnOptions;
4551
+ private continuousStream;
4552
+ private alwaysOnController;
4510
4553
  private authCredentials;
4511
4554
  private requireAuth;
4512
4555
  private authNonces;
@@ -4515,6 +4558,7 @@ declare class BaichuanRtspServer extends EventEmitter<{
4515
4558
  private readonly lazyMetadata;
4516
4559
  private connectedClients;
4517
4560
  private nativeStreamActive;
4561
+ private tearingDown;
4518
4562
  private clientConnectionServer;
4519
4563
  private streamMetadata;
4520
4564
  private clientResources;
@@ -4623,6 +4667,24 @@ declare class BaichuanRtspServer extends EventEmitter<{
4623
4667
  * Start ffmpeg for a specific client.
4624
4668
  */
4625
4669
  private startClientFfmpeg;
4670
+ /**
4671
+ * Always-on source: bridge a {@link ContinuousVideoStream} into the existing
4672
+ * fanout. Yields the same frame shape that `createNativeStream` produces, so
4673
+ * the rest of the pipeline (prebuffer, param-set extraction, per-client
4674
+ * subscribe, ffmpeg/direct-RTP) is unchanged.
4675
+ *
4676
+ * The CVS itself is long-lived (created once, reused across native-stream
4677
+ * restarts) and is driven by the {@link AlwaysOnController}, which opens/closes
4678
+ * live windows from camera events. Each fanout source generator only forwards
4679
+ * CVS events to the fanout pump for as long as `signal` is not aborted.
4680
+ */
4681
+ private createContinuousSource;
4682
+ /**
4683
+ * Lazily build the long-lived {@link ContinuousVideoStream} +
4684
+ * {@link AlwaysOnController} for always-on mode. Both are created once and
4685
+ * reused for the lifetime of the server (across native-stream restarts).
4686
+ */
4687
+ private ensureContinuousStream;
4626
4688
  /**
4627
4689
  * Start native stream (mark as active).
4628
4690
  * Each client will create its own generator, so we just track that the stream is active.
@@ -4808,7 +4870,7 @@ declare class BcMediaCodec {
4808
4870
  private amountSkipped;
4809
4871
  private logger;
4810
4872
  private onUnknownChunk;
4811
- constructor(strict?: boolean, logger?: Logger);
4873
+ constructor(strict?: boolean, logger?: Logger$1);
4812
4874
  /** Register a listener that fires for every unknown chunk before recovery. */
4813
4875
  setUnknownChunkListener(listener: UnknownChunkListener | undefined): void;
4814
4876
  /**
@@ -4842,7 +4904,7 @@ interface BaichuanVideoStreamOptions {
4842
4904
  profile: StreamProfile;
4843
4905
  /** Native-only: TrackMix tele/autotrack variants (usually on NVR/Hub). */
4844
4906
  variant?: NativeVideoStreamVariant | undefined;
4845
- logger?: Logger;
4907
+ logger?: Logger$1;
4846
4908
  /**
4847
4909
  * cmdId that carries the BcMedia payload.
4848
4910
  * Live stream typically uses 3; recording replay typically uses 5.
@@ -5054,7 +5116,7 @@ declare class BcMediaAnnexBDecoder {
5054
5116
  private lastH265Pps;
5055
5117
  constructor(params?: {
5056
5118
  strict?: boolean;
5057
- logger?: Logger;
5119
+ logger?: Logger$1;
5058
5120
  onVideoAccessUnit?: (p: BcMediaVideoFrame) => void;
5059
5121
  onAudioFrame?: (p: BcMediaAudioFrame) => void;
5060
5122
  });
@@ -5109,7 +5171,7 @@ type StreamSamplingOptions = {
5109
5171
  channel?: number;
5110
5172
  selection: StreamSamplingSelection;
5111
5173
  /** Optional logger for human-readable progress logs. */
5112
- logger?: Logger;
5174
+ logger?: Logger$1;
5113
5175
  rtsp?: {
5114
5176
  host: string;
5115
5177
  username: string;
@@ -5134,12 +5196,12 @@ declare function sampleStreams(opts: StreamSamplingOptions): Promise<void>;
5134
5196
  */
5135
5197
  declare function collectNvrDiagnostics(params: {
5136
5198
  cgi: ReolinkCgiApi;
5137
- logger?: Logger;
5199
+ logger?: Logger$1;
5138
5200
  }): Promise<Record<string, unknown>>;
5139
5201
  /**
5140
5202
  * Print NVR/HUB diagnostics in a human-readable format.
5141
5203
  */
5142
- declare function printNvrDiagnostics(diagnostics: Record<string, unknown>, logger?: Logger): void;
5204
+ declare function printNvrDiagnostics(diagnostics: Record<string, unknown>, logger?: Logger$1): void;
5143
5205
  /**
5144
5206
  * Test all available streams for a specific channel.
5145
5207
  * Tests RTSP, RTMP, and native Baichuan streams with all profiles (main, sub, ext).
@@ -5150,7 +5212,7 @@ declare function printNvrDiagnostics(diagnostics: Record<string, unknown>, logge
5150
5212
  declare function testChannelStreams(params: {
5151
5213
  api: ReolinkBaichuanApi;
5152
5214
  channel: number;
5153
- logger?: Logger;
5215
+ logger?: Logger$1;
5154
5216
  }): Promise<Record<string, unknown>>;
5155
5217
  /**
5156
5218
  * Comprehensive diagnostics for multi-focal devices.
@@ -5163,7 +5225,7 @@ declare function collectMultifocalDiagnostics(params: {
5163
5225
  /** ReolinkBaichuanApi instance */
5164
5226
  api: ReolinkBaichuanApi;
5165
5227
  /** Optional logger for output */
5166
- logger: Logger;
5228
+ logger: Logger$1;
5167
5229
  }): Promise<Record<string, unknown>>;
5168
5230
  interface RunMultifocalDiagnosticsConsecutivelyParams {
5169
5231
  api: ReolinkBaichuanApi;
@@ -5192,7 +5254,7 @@ interface RunMultifocalDiagnosticsConsecutivelyParams {
5192
5254
  * hand.
5193
5255
  */
5194
5256
  maxStandaloneChannels?: number;
5195
- logger?: Logger;
5257
+ logger?: Logger$1;
5196
5258
  }
5197
5259
  declare function runMultifocalDiagnosticsConsecutively(params: RunMultifocalDiagnosticsConsecutivelyParams): Promise<{
5198
5260
  runDir: string;
@@ -5225,7 +5287,7 @@ interface RunAllDiagnosticsConsecutivelyParams {
5225
5287
  /** Extra user-provided metadata written into diagnostics.json */
5226
5288
  extra?: Record<string, unknown>;
5227
5289
  /** Logger for progress messages */
5228
- logger?: Logger;
5290
+ logger?: Logger$1;
5229
5291
  /** Host for CGI/RTSP (if not provided in cgi/rtsp options) */
5230
5292
  host: string;
5231
5293
  /** Username for CGI/RTSP (if not provided in cgi/rtsp options) */
@@ -5468,7 +5530,7 @@ type CompositeStreamOptions = {
5468
5530
  /** Best-effort knob; overlay requires re-encode in ffmpeg, so this cannot fully disable encoding. */
5469
5531
  disableTranscode?: boolean;
5470
5532
  /** Optional logger */
5471
- logger?: Logger;
5533
+ logger?: Logger$1;
5472
5534
  /**
5473
5535
  * Optional: provide RTSP input URLs (H.264 only) instead of native Baichuan streams.
5474
5536
  * When set, CompositeStream will read directly from RTSP via ffmpeg.
@@ -5908,7 +5970,7 @@ declare const NVR_HUB_MODEL_PATTERNS: RegExp[];
5908
5970
  */
5909
5971
  declare const isNvrHubModel: (model?: string) => boolean;
5910
5972
  declare class ReolinkBaichuanApi {
5911
- readonly logger: Logger;
5973
+ readonly logger: Logger$1;
5912
5974
  private readonly httpClient;
5913
5975
  private readonly cgiApi;
5914
5976
  private readonly nativeOnly;
@@ -6395,7 +6457,7 @@ declare class ReolinkBaichuanApi {
6395
6457
  * }
6396
6458
  * ```
6397
6459
  */
6398
- createDedicatedSession(sessionKey: string, logger?: Logger): Promise<{
6460
+ createDedicatedSession(sessionKey: string, logger?: Logger$1): Promise<{
6399
6461
  client: BaichuanClient;
6400
6462
  release: () => Promise<void>;
6401
6463
  }>;
@@ -6837,7 +6899,7 @@ declare class ReolinkBaichuanApi {
6837
6899
  /** Optional device identifier for logging/tracking */
6838
6900
  deviceId?: string;
6839
6901
  /** Optional logger for debug output */
6840
- logger?: Logger;
6902
+ logger?: Logger$1;
6841
6903
  }): Promise<TalkSession>;
6842
6904
  /**
6843
6905
  * Get talk ability using a specific client (for dedicated sessions).
@@ -6971,10 +7033,12 @@ declare class ReolinkBaichuanApi {
6971
7033
  * @param options.source - Data source for the channel list (default: `"cgi"`):
6972
7034
  * - `"cgi"`: Uses HTTP `GetChannelstatus` — returns the channel list immediately,
6973
7035
  * no dependency on async push messages. Recommended for first-call discovery.
6974
- * - `"baichuan"`: Uses the cmd_id 145 push cache populated when the NVR sends channel
6975
- * info after login + event subscription. This push is *asynchronous*: if it has not
6976
- * arrived yet, the result will have zero channels. Callers must retry (nvr.ts does this
6977
- * with a 1-second loop). Note: explicitly requesting cmd_id 145 is not supported.
7036
+ * - `"baichuan"`: HTTP-free discovery. Prefers the cmd_id 145 push cache when
7037
+ * populated; otherwise actively probes the channel slots advertised by Support
7038
+ * (`items[].chnID`) via `getInfo`. Use this for hubs with HTTP disabled.
7039
+ *
7040
+ * When the api was constructed with `nativeOnly`, the source is forced to
7041
+ * `"baichuan"` regardless of this option (no HTTP/CGI is ever attempted).
6978
7042
  */
6979
7043
  getNvrChannelsSummary(options?: {
6980
7044
  channels?: number[];
@@ -7194,7 +7258,7 @@ declare class ReolinkBaichuanApi {
7194
7258
  channel?: number;
7195
7259
  fileName: string;
7196
7260
  timeoutMs?: number;
7197
- logger?: Logger;
7261
+ logger?: Logger$1;
7198
7262
  /**
7199
7263
  * Force NVR mode (uses id-based XML with UID) or standalone mode (name-based XML).
7200
7264
  * If not specified, the library will detect based on device channel count:
@@ -8230,7 +8294,7 @@ declare class ReolinkBaichuanApi {
8230
8294
  * @param logger - Optional logger for output
8231
8295
  * @returns Test results for all stream types and profiles
8232
8296
  */
8233
- testChannelStreams(channel?: number, logger?: Logger): Promise<Record<string, unknown>>;
8297
+ testChannelStreams(channel?: number, logger?: Logger$1): Promise<Record<string, unknown>>;
8234
8298
  /**
8235
8299
  * Comprehensive diagnostics for multi-focal devices.
8236
8300
  * Tests all channels and all available streams for each channel.
@@ -8239,7 +8303,7 @@ declare class ReolinkBaichuanApi {
8239
8303
  * @param logger - logger for output
8240
8304
  * @returns Complete diagnostics for all channels and streams
8241
8305
  */
8242
- collectMultifocalDiagnostics(logger: Logger): Promise<Record<string, unknown>>;
8306
+ collectMultifocalDiagnostics(logger: Logger$1): Promise<Record<string, unknown>>;
8243
8307
  /**
8244
8308
  * Passthrough to ReolinkCgiApi.getAllChannelsEvents.
8245
8309
  * Fetches events/motion/AI state for all channels via CGI and merges results per channel.
@@ -8571,7 +8635,7 @@ declare class ReolinkBaichuanApi {
8571
8635
  * @returns Complete diagnostics data including NVR info, channels, and per-channel details
8572
8636
  */
8573
8637
  collectNvrDiagnostics(options: {
8574
- logger: Logger;
8638
+ logger: Logger$1;
8575
8639
  }): Promise<Record<string, unknown>>;
8576
8640
  private parseAndStoreSettingsPush;
8577
8641
  /** Read-only snapshot of cached settings pushes (cmd_id 78/79/464/484/623/723). */
@@ -9141,7 +9205,7 @@ declare class ReolinkBaichuanApi {
9141
9205
  */
9142
9206
  isNvr?: boolean;
9143
9207
  /** Optional logger override. If not provided, uses the API's logger. */
9144
- logger?: Logger;
9208
+ logger?: Logger$1;
9145
9209
  /**
9146
9210
  * External identifier for the dedicated socket session.
9147
9211
  * When provided, a dedicated BaichuanClient is created/reused for this deviceId.
@@ -9255,7 +9319,7 @@ declare class ReolinkBaichuanApi {
9255
9319
  */
9256
9320
  isNvr?: boolean;
9257
9321
  /** Optional logger override. If not provided, uses the API's logger. */
9258
- logger?: Logger;
9322
+ logger?: Logger$1;
9259
9323
  /**
9260
9324
  * External identifier for the dedicated socket session.
9261
9325
  * When provided, a dedicated BaichuanClient is created/reused for this deviceId.
@@ -9718,7 +9782,7 @@ interface HlsHttpResponse {
9718
9782
  */
9719
9783
  interface HlsSessionManagerOptions {
9720
9784
  /** Logger instance */
9721
- logger?: Logger$1;
9785
+ logger?: Logger$2;
9722
9786
  /** Session TTL in milliseconds (default: 5 minutes) */
9723
9787
  sessionTtlMs?: number;
9724
9788
  /** Cleanup interval in milliseconds (default: 30 seconds) */
@@ -9849,7 +9913,7 @@ type DiscoveryOptions = {
9849
9913
  /** Maximum number of concurrent HTTP probes (default: 50) */
9850
9914
  maxConcurrentProbes?: number;
9851
9915
  /** Logger instance for debug output */
9852
- logger?: Logger;
9916
+ logger?: Logger$1;
9853
9917
  /** Whether to enable UDP broadcast discovery (default: true) */
9854
9918
  enableUdpDiscovery?: boolean;
9855
9919
  /** Whether to enable HTTP port scanning (default: true) */
@@ -10460,6 +10524,79 @@ declare class Rfc4571Muxer {
10460
10524
  sendVideoRtpPacket(videoType: VideoType, rtpPacket: Buffer): void;
10461
10525
  }
10462
10526
 
10527
+ interface CachedKeyframe {
10528
+ data: Buffer;
10529
+ videoType: "H264" | "H265";
10530
+ }
10531
+ interface Logger {
10532
+ info?: (...a: unknown[]) => void;
10533
+ warn?: (...a: unknown[]) => void;
10534
+ error?: (...a: unknown[]) => void;
10535
+ debug?: (...a: unknown[]) => void;
10536
+ }
10537
+ declare class PlaceholderRenderer {
10538
+ private readonly opts;
10539
+ private readonly logger;
10540
+ constructor(args: {
10541
+ placeholder?: PlaceholderOptions;
10542
+ logger?: Logger;
10543
+ });
10544
+ /** Returns the access unit bytes to emit as placeholder, or null if none available. */
10545
+ render(keyframe: CachedKeyframe | null): Promise<Buffer | null>;
10546
+ /** Decodes the cached keyframe access unit into a single JPEG still via ffmpeg. */
10547
+ private decodeToJpeg;
10548
+ /** Dims the still and prints the overlay text using jimp, returning a JPEG buffer. */
10549
+ private decorate;
10550
+ /** Encodes the decorated JPEG into a single IDR access unit in the target codec. */
10551
+ private encodeIdr;
10552
+ }
10553
+
10554
+ type VideoAccessUnit = {
10555
+ data: Buffer;
10556
+ isKeyframe: boolean;
10557
+ videoType: "H264" | "H265";
10558
+ microseconds: number;
10559
+ time?: number;
10560
+ };
10561
+ interface ContinuousVideoStreamOptions {
10562
+ /** Returns an un-started live BaichuanVideoStream; ContinuousVideoStream calls start() itself. */
10563
+ createLiveStream: () => Promise<BaichuanVideoStream>;
10564
+ idleFps?: number;
10565
+ placeholder?: PlaceholderOptions;
10566
+ renderer?: PlaceholderRenderer;
10567
+ logger?: Logger;
10568
+ }
10569
+ declare class ContinuousVideoStream extends EventEmitter<{
10570
+ videoAccessUnit: [VideoAccessUnit];
10571
+ additionalHeader: [unknown];
10572
+ audioFrame: [Buffer];
10573
+ error: [Error];
10574
+ close: [];
10575
+ }> {
10576
+ private readonly opts;
10577
+ private live;
10578
+ private lastKeyframe;
10579
+ private lastMicroseconds;
10580
+ private readonly idleFps;
10581
+ private readonly renderer;
10582
+ private readonly logger;
10583
+ private stopped;
10584
+ private starting;
10585
+ private idleTimer;
10586
+ private idlePlaceholder;
10587
+ constructor(opts: ContinuousVideoStreamOptions);
10588
+ hasCachedKeyframe(): boolean;
10589
+ goLive(): Promise<void>;
10590
+ goIdle(): Promise<void>;
10591
+ stop(): Promise<void>;
10592
+ private startIdleLoop;
10593
+ private stopIdleLoop;
10594
+ private onLiveAccessUnit;
10595
+ private onAdditionalHeader;
10596
+ private onAudioFrame;
10597
+ private onLiveError;
10598
+ }
10599
+
10463
10600
  interface Rfc4571ApiFactoryContext {
10464
10601
  channel?: number;
10465
10602
  profile: StreamProfile;
@@ -10541,6 +10678,8 @@ interface Rfc4571TcpServerOptions {
10541
10678
  * The dedicated socket is automatically closed when the stream ends.
10542
10679
  */
10543
10680
  deviceId?: string;
10681
+ /** Battery always-on continuous stream (placeholder while asleep, real frames during motion). */
10682
+ alwaysOn?: AlwaysOnOptions;
10544
10683
  }
10545
10684
  interface Rfc4571TcpServer {
10546
10685
  host: string;
@@ -10555,7 +10694,7 @@ interface Rfc4571TcpServer {
10555
10694
  username: string;
10556
10695
  password: string;
10557
10696
  server: net__default.Server;
10558
- videoStream: BaichuanVideoStream | CompositeStream;
10697
+ videoStream: BaichuanVideoStream | CompositeStream | ContinuousVideoStream;
10559
10698
  close: (reason?: unknown) => Promise<void>;
10560
10699
  }
10561
10700
  declare function createRfc4571TcpServer(options: Rfc4571TcpServerOptions): Promise<Rfc4571TcpServer>;
@@ -10713,7 +10852,7 @@ interface Go2rtcTcpServerOptions {
10713
10852
  /** Port to listen on (default: 0 = OS picks). */
10714
10853
  listenPort?: number;
10715
10854
  /** Logger. */
10716
- logger?: Logger;
10855
+ logger?: Logger$1;
10717
10856
  /**
10718
10857
  * External identifier for dedicated socket session.
10719
10858
  * When provided, a dedicated BaichuanClient is created for the stream,
@@ -10939,7 +11078,7 @@ interface BaichuanHttpStreamServerOptions {
10939
11078
  * Defaults to 25 if not provided.
10940
11079
  */
10941
11080
  inputFps?: number;
10942
- logger?: Logger;
11081
+ logger?: Logger$1;
10943
11082
  }
10944
11083
  /**
10945
11084
  * BaichuanHttpStreamServer - HTTP server that serves a Baichuan video stream as MPEG-TS.
@@ -11627,6 +11766,33 @@ declare function extractSpsFromAnnexB(annexB: Buffer): Buffer | null;
11627
11766
  */
11628
11767
  declare function extractPpsFromAnnexB(annexB: Buffer): Buffer | null;
11629
11768
 
11769
+ interface AlwaysOnControllerOptions {
11770
+ api: ReolinkBaichuanApi;
11771
+ channel: number;
11772
+ options: AlwaysOnOptions;
11773
+ goLive: () => Promise<void>;
11774
+ goIdle: () => Promise<void>;
11775
+ logger?: Logger;
11776
+ }
11777
+ declare class AlwaysOnController {
11778
+ private readonly o;
11779
+ private readonly triggers;
11780
+ private readonly windowMs;
11781
+ private readonly primeOnStart;
11782
+ private readonly logger;
11783
+ private windowTimer;
11784
+ private live;
11785
+ private started;
11786
+ private readonly handler;
11787
+ constructor(o: AlwaysOnControllerOptions);
11788
+ private get windowSeconds();
11789
+ start(): Promise<void>;
11790
+ stop(): Promise<void>;
11791
+ private onEvent;
11792
+ private openWindow;
11793
+ private closeWindow;
11794
+ }
11795
+
11630
11796
  declare function zipDirectory(params: {
11631
11797
  sourceDir: string;
11632
11798
  zipPath: string;
@@ -11639,7 +11805,7 @@ type AutoDetectInputs = {
11639
11805
  username: string;
11640
11806
  password: string;
11641
11807
  uid?: string;
11642
- logger?: Logger;
11808
+ logger?: Logger$1;
11643
11809
  debugOptions?: BaichuanClientOptions["debugOptions"];
11644
11810
  /**
11645
11811
  * Force a specific transport mode.
@@ -11785,7 +11951,7 @@ type CompositeRtspServerOptions = {
11785
11951
  listenHost?: string;
11786
11952
  listenPort?: number;
11787
11953
  path?: string;
11788
- logger?: Logger;
11954
+ logger?: Logger$1;
11789
11955
  };
11790
11956
  /**
11791
11957
  * RTSP Server che serve uno stream composito multifocal
@@ -11945,7 +12111,7 @@ interface RtspBackchannelOptions {
11945
12111
  /** Lazy opener for the camera talk session. Called once on `start()`. */
11946
12112
  openTalkSession: () => Promise<TalkSession$1>;
11947
12113
  /** Used for diagnostic messages; defaults to silent. */
11948
- logger?: Logger;
12114
+ logger?: Logger$1;
11949
12115
  /**
11950
12116
  * Maximum PCM (16-bit, 16 kHz) bytes to buffer before dropping older samples
11951
12117
  * to keep latency bounded. 96 000 bytes ≈ 3 s of audio at 16 kHz mono — much
@@ -12094,7 +12260,7 @@ interface BaichuanRtspBackchannelServerOptions {
12094
12260
  listenHost?: string;
12095
12261
  /** TCP port to bind. Default 8555. */
12096
12262
  listenPort?: number;
12097
- logger?: Logger;
12263
+ logger?: Logger$1;
12098
12264
  /**
12099
12265
  * Optional Digest credentials. When set, every method except OPTIONS
12100
12266
  * requires the client to authenticate with one of these users.
@@ -12315,4 +12481,4 @@ interface CreateEmailPushServerParams {
12315
12481
  declare function getCameraEmailAddress(cameraId: string, domain: string): string;
12316
12482
  declare function createEmailPushServer(params: CreateEmailPushServerParams): EmailPushServerInstance;
12317
12483
 
12318
- export { type AIDetectionState, type AIEvent, type AIState, ALL_UDP_DISCOVERY_METHODS, type AbilityInfo, type AccessUserListConfig, AesStreamDecryptor, type AiAlarmConfig, type AiConfig, type AiDenoiseConfig, type AiDetectCfgZone, type AiKey, type AiTypesCacheEntry, type AnyBuffer, type AudioAlarmParams, type AudioCfgConfig, type AudioConfig, type AudioNoiseConfig, type AudioTaskConfig, type AutoDetectInputs, type AutoDetectMode, type AutoDetectResult, type AutoFocusConfig, type AutoRebootConfig, type AutoRebootConfigPatch, AutodiscoveryClient, type AutodiscoveryClientOptions, BC_AES_IV, BC_CLASS_FILE_DOWNLOAD, BC_CLASS_LEGACY, BC_CLASS_MODERN_20, BC_CLASS_MODERN_24, BC_CLASS_MODERN_24_ALT, BC_CMD_ID_ABILITY_INFO, BC_CMD_ID_ALARM_EVENT_LIST, BC_CMD_ID_AUDIO_ALARM_PLAY, BC_CMD_ID_CHANNEL_INFO_ALL, BC_CMD_ID_CMD_123, BC_CMD_ID_CMD_209, BC_CMD_ID_CMD_265, BC_CMD_ID_CMD_440, BC_CMD_ID_COVER_PREVIEW, BC_CMD_ID_COVER_RESPONSE, BC_CMD_ID_COVER_STANDALONE_458, BC_CMD_ID_COVER_STANDALONE_459, BC_CMD_ID_COVER_STANDALONE_460, BC_CMD_ID_COVER_STANDALONE_461, BC_CMD_ID_COVER_STANDALONE_462, BC_CMD_ID_DEVICE_DETECT, BC_CMD_ID_DEVICE_DETECT_CANDIDATES, BC_CMD_ID_DING_DONG_CTRL, BC_CMD_ID_DING_DONG_OPT, BC_CMD_ID_FILE_INFO_LIST_CLOSE, BC_CMD_ID_FILE_INFO_LIST_DL_VIDEO, BC_CMD_ID_FILE_INFO_LIST_DOWNLOAD, BC_CMD_ID_FILE_INFO_LIST_GET, BC_CMD_ID_FILE_INFO_LIST_OPEN, BC_CMD_ID_FILE_INFO_LIST_REPLAY, BC_CMD_ID_FILE_INFO_LIST_STOP, BC_CMD_ID_FIND_REC_VIDEO_CLOSE, BC_CMD_ID_FIND_REC_VIDEO_GET, BC_CMD_ID_FIND_REC_VIDEO_OPEN, BC_CMD_ID_FLOODLIGHT_STATUS_LIST, BC_CMD_ID_GET_ABILITY_SUPPORT, BC_CMD_ID_GET_ACCESS_USER_LIST, BC_CMD_ID_GET_AI_ALARM, BC_CMD_ID_GET_AI_CFG, BC_CMD_ID_GET_AI_DENOISE, BC_CMD_ID_GET_AUDIO_ALARM, BC_CMD_ID_GET_AUDIO_CFG, BC_CMD_ID_GET_AUDIO_TASK, BC_CMD_ID_GET_AUTO_FOCUS, BC_CMD_ID_GET_AUTO_REBOOT, BC_CMD_ID_GET_BATTERY_INFO, BC_CMD_ID_GET_BATTERY_INFO_LIST, BC_CMD_ID_GET_DAY_NIGHT_THRESHOLD, BC_CMD_ID_GET_DAY_RECORDS, BC_CMD_ID_GET_DING_DONG_CFG, BC_CMD_ID_GET_DING_DONG_LIST, BC_CMD_ID_GET_DING_DONG_SILENT, BC_CMD_ID_GET_DST, BC_CMD_ID_GET_EMAIL, BC_CMD_ID_GET_EMAIL_TASK, BC_CMD_ID_GET_ENC, BC_CMD_ID_GET_FTP_TASK, BC_CMD_ID_GET_HDD_INFO_LIST, BC_CMD_ID_GET_KIT_AP_CFG, BC_CMD_ID_GET_LED_STATE, BC_CMD_ID_GET_MOTION_ALARM, BC_CMD_ID_GET_NTP, BC_CMD_ID_GET_ONLINE_USER_LIST, BC_CMD_ID_GET_OSD_DATETIME, BC_CMD_ID_GET_PIR_INFO, BC_CMD_ID_GET_PRIVACY_MASK, BC_CMD_ID_GET_PTZ_POSITION, BC_CMD_ID_GET_PTZ_PRESET, BC_CMD_ID_GET_PUSH_TASK, BC_CMD_ID_GET_RECORD, BC_CMD_ID_GET_RECORD_CFG, BC_CMD_ID_GET_REC_ENC_CFG, BC_CMD_ID_GET_SIREN_STATUS, BC_CMD_ID_GET_SLEEP_STATE, BC_CMD_ID_GET_SNAPSHOT, BC_CMD_ID_GET_STREAM_INFO_LIST, BC_CMD_ID_GET_SUPPORT, BC_CMD_ID_GET_SYSTEM_GENERAL, BC_CMD_ID_GET_TIMELAPSE_CFG, BC_CMD_ID_GET_UID, BC_CMD_ID_GET_VERSION_INFO, BC_CMD_ID_GET_VIDEO_INPUT, BC_CMD_ID_GET_WHITE_LED, BC_CMD_ID_GET_WIFI, BC_CMD_ID_GET_WIFI_SIGNAL, BC_CMD_ID_GET_ZOOM_FOCUS, BC_CMD_ID_LOGIN, BC_CMD_ID_LOGOUT, BC_CMD_ID_PING, BC_CMD_ID_PTZ_CONTROL, BC_CMD_ID_PTZ_CONTROL_PRESET, BC_CMD_ID_PUSH_COORDINATE_POINT_LIST, BC_CMD_ID_PUSH_DINGDONG_LIST, BC_CMD_ID_PUSH_NET_INFO, BC_CMD_ID_PUSH_SERIAL, BC_CMD_ID_PUSH_SLEEP_STATUS, BC_CMD_ID_PUSH_VIDEO_INPUT, BC_CMD_ID_QUICK_REPLY_PLAY, BC_CMD_ID_SET_AI_ALARM, BC_CMD_ID_SET_AI_CFG, BC_CMD_ID_SET_AI_DENOISE, BC_CMD_ID_SET_AUDIO_CFG, BC_CMD_ID_SET_AUDIO_TASK, BC_CMD_ID_SET_AUTO_FOCUS, BC_CMD_ID_SET_AUTO_REBOOT, BC_CMD_ID_SET_DAY_NIGHT_THRESHOLD, BC_CMD_ID_SET_DING_DONG_CFG, BC_CMD_ID_SET_DING_DONG_SILENT, BC_CMD_ID_SET_DST, BC_CMD_ID_SET_EMAIL, BC_CMD_ID_SET_EMAIL_TASK, BC_CMD_ID_SET_ENC, BC_CMD_ID_SET_LED_STATE, BC_CMD_ID_SET_MOTION_ALARM, BC_CMD_ID_SET_NTP, BC_CMD_ID_SET_OSD_DATETIME, BC_CMD_ID_SET_PIR_INFO, BC_CMD_ID_SET_PRIVACY_MASK, BC_CMD_ID_SET_PUSH_TASK, BC_CMD_ID_SET_RECORD, BC_CMD_ID_SET_RECORD_CFG, BC_CMD_ID_SET_SYSTEM_GENERAL, BC_CMD_ID_SET_VIDEO_INPUT, BC_CMD_ID_SET_WHITE_LED_STATE, BC_CMD_ID_SET_WHITE_LED_TASK, BC_CMD_ID_SET_ZOOM_FOCUS, BC_CMD_ID_SUPPORT, BC_CMD_ID_TALK, BC_CMD_ID_TALK_ABILITY, BC_CMD_ID_TALK_CONFIG, BC_CMD_ID_TALK_RESET, BC_CMD_ID_TEST_EMAIL, BC_CMD_ID_UDP_KEEP_ALIVE, BC_CMD_ID_VIDEO, BC_CMD_ID_VIDEO_STOP, BC_MAGIC, BC_MAGIC_REV, BC_TCP_DEFAULT_PORT, BC_XML_KEY, type BackchannelCodec, type BackchannelRoute, type BaichuanCachedPush, BaichuanClient, type BaichuanClientOptions, type BaichuanCoordinatePointListPush, type BaichuanDingdongListPush, type BaichuanEndpointsServerOptions, BaichuanEventEmitter, type BaichuanFloodlightStatusPush, type BaichuanFrame, BaichuanFrameParser, type BaichuanGetOsdDatetimeResult, type BaichuanHeader, BaichuanHlsServer, type BaichuanHlsServerOptions, BaichuanHttpStreamServer, type BaichuanHttpStreamServerOptions, type BaichuanLedState, BaichuanMjpegServer, type BaichuanMjpegServerOptions, type BaichuanNetInfoPush, type BaichuanOsdChannelName, type BaichuanOsdDatetime, type BaichuanRecordCfg, type BaichuanRecordSchedule, BaichuanRtspBackchannelServer, type BaichuanRtspBackchannelServerOptions, BaichuanRtspServer, type BaichuanRtspServerOptions, type BaichuanSerialPush, type BaichuanSettingsPushCacheEntry, type BaichuanSirenStatusPush, type BaichuanSleepState, type BaichuanSleepStatusPush, type BaichuanStreamEncodeTable, type BaichuanStreamInfo, type BaichuanStreamInfoList, type BaichuanTransport, type BaichuanVersionInfo, type BaichuanVideoInputPush, BaichuanVideoStream, type BaichuanVideoStreamOptions, BaichuanWebRTCServer, type BaichuanWebRTCServerOptions, type BaichuanWifi, type BaichuanWifiSignal, type BatteryInfo, type BatteryInfoResponse, type BcMedia, type BcMediaAac, type BcMediaAdpcm, BcMediaAnnexBDecoder, type BcMediaAnnexBDecoderStats, type BcMediaAnnexBInfo, type BcMediaAudioFrame, type BcMediaAudioType, BcMediaCodec, type BcMediaIframe, type BcMediaInfoV1, type BcMediaInfoV2, type BcMediaPframe, type BcMediaType, type BcMediaVideoFrame, type BcMediaVideoType, type BcUdpDiscoveryMethod, BcUdpStream, type BcUdpStreamOptions, type CgiAbility, type CgiAbilityChn, type CgiAbilityLeaf, type CgiAiAlarm, type CgiAiCfg, type CgiAiKey, type CgiAiStateValue, type CgiAudioAlarm, type CgiAudioAlarmPlayParam, type CgiAudioCfg, type CgiAudioNoise, type CgiAutoFocus, type CgiBattery, type CgiChannelStatusEntry, type CgiChnTypeInfoValue, type CgiDetectionState, type CgiDevInfo, type CgiDeviceInfoEntries, type CgiEmail, type CgiEnc, type CgiEncStream, type CgiEncValue, type CgiGetAbilityResponse, type CgiGetAbilityValue, type CgiGetAiAlarmValue, type CgiGetAiCfgValue, type CgiGetAiStateResponse, type CgiGetAudioAlarmValue, type CgiGetAudioCfgValue, type CgiGetAudioNoiseValue, type CgiGetAutoFocusValue, type CgiGetChannelstatusResponse, type CgiGetChannelstatusValue, type CgiGetChnTypeInfoResponse, type CgiGetDevInfoResponse, type CgiGetDevInfoValue, type CgiGetEmailValue, type CgiGetEncResponse, type CgiGetImageValue, type CgiGetIrLightsValue, type CgiGetIspValue, type CgiGetMaskValue, type CgiGetMdAlarmValue, type CgiGetOsdValue, type CgiGetPushValue, type CgiGetRecValue, type CgiGetRtspUrlResponse, type CgiGetRtspUrlValue, type CgiGetVideoclipsParams, type CgiImage, type CgiIrLights, type CgiIsp, type CgiMask, type CgiMaskShelter, type CgiMdAlarm, type CgiMdAlarmScope, type CgiMdAlarmSens, type CgiNetPort, type CgiOsd, type CgiPirInfo, type CgiPtzPreset, type CgiPush, type CgiRec, type CgiRecSchedule, type CgiSetAiAlarmParam, type CgiSetAiCfgParam, type CgiSetAudioAlarmParam, type CgiSetAudioCfgParam, type CgiSetAudioNoiseParam, type CgiSetAutoFocusParam, type CgiSetEmailParam, type CgiSetEncParam, type CgiSetImageParam, type CgiSetIrLightsParam, type CgiSetIspParam, type CgiSetMaskParam, type CgiSetMdAlarmParam, type CgiSetOsdParam, type CgiSetPirInfoParam, type CgiSetPushParam, type CgiSetRecParam, type CgiSetWhiteLedParam, type CgiWhiteLed, type ChannelPushCacheEntry, type ChannelPushDataEntry, type ChannelRecordingFile, type ChannelStreamMetadata, type ChimeAlarmCfg, type ChimeCfg, type ChimeDevice, type ChimeParams, type CollectNvrDiagnosticsOptions, CompositeRtspServer, type CompositeRtspServerOptions, CompositeStream, type CompositeStreamOptions, type CompositeStreamPipOptions, type CompressionStream, type CreateEmailPushServerParams, DEFAULT_SHELTER_CANVAS, DUAL_LENS_DUAL_MOTION_MODELS, DUAL_LENS_MODELS, DUAL_LENS_SINGLE_MOTION_MODELS, type DayNightThresholdConfig, type DayOfWeek, type DebugConfig, type DebugOptions, type DeviceAbilities, type DeviceCapabilities, type DeviceCapabilitiesCacheEntry, type DeviceCapabilitiesDebugInfo, type DeviceCapabilitiesResult, type DeviceInfoResponse, type DeviceInputData, type DeviceObjectType, type DeviceStatusResponse, type DeviceSupportFlags, type DeviceType, type DiagnosticsCollectorResult, type DiagnosticsStreamKind, type DiscoveredDevice, type DiscoveryOptions, type DownloadRecordingParams, type DstConfig, type DstConfigPatch, type DualLensChannelAnalysis, type DualLensChannelInfo, type EmailAttachmentType, type EmailConfig, type EmailConfigPatch, type EmailPushEvent, type EmailPushInferredType, type EmailPushLogger, type EmailPushServerConfig, type EmailPushServerInstance, type EmailPushServerStatus, type EmailPushTlsOptions, type EmailTaskConfig, type EmailTaskScheduleItem, type EmailTextType, type EncConfig, type EncOptions, type EncResolutionOption, type EncStreamOptions, type EncStreamPatch, type EncryptionProtocol, type Events, type EventsResponse, type FloodlightTaskConfig, type FloodlightTaskState, type FtpTaskConfig, type GetRecordingVideoResult, type GetRecordingVideoStats, type GetVideoclipsParams, type GetVodUrlParams, Go2rtcTcpServer, type Go2rtcTcpServerOptions, H264RtpDepacketizer, H265RtpDepacketizer, type HardwiredChimeState, type HddInfoListConfig, type HlsCodec, type HlsHttpResponse, type HlsServerStatus, type HlsSession, HlsSessionManager, type HlsSessionManagerOptions, type HlsSessionParams, Intercom, type IntercomOptions, type IrLightsConfig, type IspConfig, type JsonObject, type JsonPrimitive, type JsonValue, type LastSleepProbe, type LoadTlsParams, type LogLevel, type Logger, type LoggerCallback, type LoginResponseValue, type MaskConfig, type MaxEncryption, type MediaStream, type MjpegFrame, MjpegTransformer, type MjpegTransformerOptions, type ModelFixtureCaptureResult, type MotionAlarmConfig, type MotionEvent, type MotionSensitivityBand, type MotionZoneScope, MpegTsMuxer, type MpegTsMuxerOptions, NVR_HUB_EXACT_TYPES, NVR_HUB_MODEL_PATTERNS, type NativeVideoStreamVariant, type NtpConfig, type NtpConfigPatch, type NvrChannelsSummaryCacheEntry, type OnlineUserListConfig, type OsdChannel, type OsdConfig, type OsdDateFormat, type OsdTime, type ParsedRecordingFileName, type PipPosition, type PirConfig, type PirState, type PlaybackSnapshotStreamInfo, type PrivacyMaskZones, type PtzCommand, type PtzPosition, type PtzPreset, type RecEncConfig, type RecordingAudioCodec, type RecordingDetectionClass, type RecordingDevType, type RecordingFile, type RecordingPlaybackUrls, type RecordingStreamType, type RecordingVideoCodec, type RecordingVodFlags, type RecordingVodStreamHint, type RecordingsCacheEntry, type RecordingsQueueItem, type ReolinkAiNotification, ReolinkBaichuanApi, type ReolinkBaichuanChannelIdentity, type ReolinkBaichuanChannelInfo, type ReolinkBaichuanDeviceSummary, type ReolinkBaichuanNetworkInfo, type ReolinkBaichuanPorts, ReolinkCgiApi, type ReolinkCmdRequest, type ReolinkCmdResponse, type ReolinkCmdResponseExt, type ReolinkDayNightNotification, type ReolinkDetectionBox, type ReolinkDetectionDecodeState, type ReolinkDetectionEvent, type ReolinkDeviceInfo, type ReolinkDeviceInfoTag, type ReolinkEvent, ReolinkHttpClient, type ReolinkHttpClientOptions, type ReolinkJson, type ReolinkMotionNotification, type ReolinkNvrChannelInfo, type ReolinkNvrDeviceGroupSummary, type ReolinkNvrDeviceGroupsResult, type ReolinkSimpleEvent, type ReolinkSimpleEventType, type ReolinkSupportedStream, type ReolinkVideoStreamOptionsResult, type ReolinkVisitorNotification, type ReplayHttpServer, type ReplayHttpServerOptions, type ResponseMediaStreamOptions, type Rfc4571ApiFactoryContext, type Rfc4571Client, Rfc4571Muxer, type Rfc4571ReplayServer, type Rfc4571ReplayServerOptions, type Rfc4571TcpServer, type Rfc4571TcpServerOptions, type RtpPacketizationOptions, RtspBackchannel, type RtspBackchannelOptions, type RtspCreateOptions, type RtspProxyServerOptions, type RtspStreamProfile, type RunAllDiagnosticsConsecutivelyParams, type RunAllDiagnosticsConsecutivelyResult, type RunMultifocalDiagnosticsConsecutivelyParams, type RunMultifocalDiagnosticsConsecutivelyResult, type ShelterCanvas, type ShelterRect, type SirenState, type SirenStatusConfig, type SleepInferenceDecision, type SleepInferenceInput, type SleepInferencePending, type SleepState, type SleepStatus, type StreamMetadata, type StreamProfile, type StreamSamplingOptions, type StreamSamplingSelection, type SupportConfig, type SupportInfo, type SupportItem, type SystemGeneralConfig, type SystemGeneralPatch, type TalkAbility$1 as TalkAbility, type TalkAudioConfig, type TalkConfig, type TalkSession$1 as TalkSession, type TalkSessionInfo, type TimeFormat, type TimelapseCfgConfig, type TrackShelterRect, type TwoWayAudioConfig, type UdpDiscoveryMethod, type UnknownChunkListener, type VideoCodec, type VideoInputConfig, type VideoParamSets, type VideoStreamOptions, type VideoStreamOptionsCacheEntry, type VideoType, type VideoclipClientInfo, type VideoclipModeDecision, type VideoclipThumbnailResult, type VideoclipTranscodeMode, type VodFile, type VodSearchResponse, type VodSearchResult, type VodSearchStatus, type WakeUpOptions, type WebRTCAnswer, type WebRTCIceCandidate, type WebRTCOffer, type WebRTCSessionInfo, type WhiteLedConfig, type WhiteLedState, type WirelessChimeSilentState, type XmlJsonObject, type XmlJsonPrimitive, type XmlJsonValue, type ZoomFocusStatus, type ZoomFocusTriplet, _clearP2pLookupDedupForTests, _resetEmailPushBusForTests, abilitiesHasAny, aesDecrypt, aesEncrypt, alawToPcm16, applyStreamPatch, applyXmlTagPatch, asLogger, autoDetectDeviceType, bcDecrypt, bcEncrypt, bcHeaderHasPayloadOffset, buildAacAudioSpecificConfigHex, buildAbilityInfoExtensionXml, buildBinaryExtensionXml, buildChannelExtensionXml, buildFloodlightManualXml, buildHlsRedirectUrl, buildLoginXml, buildLogoutXml, buildPreviewStopXml, buildPreviewStopXmlV11, buildPreviewXml, buildPreviewXmlV11, buildPtzControlXml, buildPtzPresetXml, buildPtzPresetXmlV2, buildRfc4571Sdp, buildRtspPath, buildRtspUrl, buildSirenManualXml, buildSirenTimesXml, buildStartZoomFocusXml, buildWhiteLedStateXml, captureModelFixtures, collectCgiDiagnostics, collectMultifocalDiagnostics, collectNativeDiagnostics, collectNvrDiagnostics, computeDeviceCapabilities, computeExpectedStreamCompatibility, convertToAnnexB as convertH265ToAnnexB, convertToAnnexB$1 as convertToAnnexB, convertToLengthPrefixed, createBaichuanEndpointsServer, createDebugGateLogger, createDiagnosticsBundle, createEmailPushServer, createLogger, createMjpegBoundary, createNativeStream, createNullLogger, createReplayHttpServer, createRfc4571TcpServer, createRfc4571TcpServerForReplay, createRtspProxyServer, createTaggedLogger, decideSleepInferenceTransition, decideVideoclipTranscodeMode, decodeAiDetectCfg, decodeHeader, decodeMotionScopeBitmap, decodePrivacyMaskZones, decodeShelterCoord, deriveAesKey, detectIosClient, detectVideoCodecFromNal, discoverReolinkDevices, discoverViaArpTable, discoverViaDhcpListener, discoverViaHttpScan, discoverViaOnvif, discoverViaTcpPortScan, discoverViaUdpBroadcast, discoverViaUdpDirect, emitEmailPushEvent, encodeHeader, encodeImaAdpcm, encodeMotionScopeBitmap, encodeMotionSensitivityListXml, encodeShelterCoord, encodeShelterListXml, encodeTrackShelterListXml, ensureXmlHeader, extractCanvasFromShelterXml, extractH264ParamSetsFromAccessUnit, extractH265ParamSetsFromAccessUnit, extractPpsFromAnnexB, extractSpsFromAnnexB, extractVpsFromAnnexB, flattenAbilitiesForChannel, formatMjpegFrame, fullCoverageScope, getCameraEmailAddress, getConstructedVideoStreamOptions, getEmailPushCameraResolver, getGlobalLogger, getH265NalType, getLastEmailPushEvent, getMjpegContentType, getRecentEmailPushEvents, getSupportItemForChannel, getVideoStream, getVideoclipClientInfo, getXmlText, hasStartCodes as hasH265StartCodes, hasStartCodes$1 as hasStartCodes, isDualLenseModel, isH264KeyframeAnnexB, isH265Irap, isH265KeyframeAnnexB, isNvrHubModel, isSameSubnetAsAnyLocalIface, isTcpFailureThatShouldFallbackToUdp, isUnroutableForP2P, isValidH264AnnexBAccessUnit, isValidH265AnnexBAccessUnit, loadEmailPushTls, mapEmailPushInferredType, maskUid, md5HexUpper, md5StrModern, mulawToPcm16, normalizeDayNightMode, normalizeOpenClose, normalizeUid, onEmailPushEvent, packetizeAacAdtsFrame, packetizeAacRawFrame, packetizeH264, packetizeH265, parseAdtsHeader, parseBcMedia, parseRecordingFileName, parseRtpPacket, parseSupportXml, patchAiDetectCfgXml, patchMotionSensitivityListXml, patchNestedTag, patchShelterXml, printNvrDiagnostics, probeEgressForHost, runAllDiagnosticsConsecutively, runMultifocalDiagnosticsConsecutively, sampleStreams, sanitizeFixtureData, selectViableUdpMethods, setEmailPushCameraResolver, setGlobalLogger, splitAnnexBToNalPayloads$1 as splitAnnexBToNalPayloads, splitAnnexBToNals, splitAnnexBToNalPayloads as splitH265AnnexBToNalPayloads, tcpReachabilityProbe, testChannelStreams, upsamplePcm16, upsertXmlTag, xmlEscape, xmlIndicatesFloodlight, zipDirectory };
12484
+ export { type AIDetectionState, type AIEvent, type AIState, ALL_UDP_DISCOVERY_METHODS, ALWAYS_ON_DEFAULTS, type AbilityInfo, type AccessUserListConfig, AesStreamDecryptor, type AiAlarmConfig, type AiConfig, type AiDenoiseConfig, type AiDetectCfgZone, type AiKey, type AiTypesCacheEntry, AlwaysOnController, type AlwaysOnControllerOptions, type AlwaysOnOptions, type AlwaysOnTrigger, type AnyBuffer, type AudioAlarmParams, type AudioCfgConfig, type AudioConfig, type AudioNoiseConfig, type AudioTaskConfig, type AutoDetectInputs, type AutoDetectMode, type AutoDetectResult, type AutoFocusConfig, type AutoRebootConfig, type AutoRebootConfigPatch, AutodiscoveryClient, type AutodiscoveryClientOptions, BC_AES_IV, BC_CLASS_FILE_DOWNLOAD, BC_CLASS_LEGACY, BC_CLASS_MODERN_20, BC_CLASS_MODERN_24, BC_CLASS_MODERN_24_ALT, BC_CMD_ID_ABILITY_INFO, BC_CMD_ID_ALARM_EVENT_LIST, BC_CMD_ID_AUDIO_ALARM_PLAY, BC_CMD_ID_CHANNEL_INFO_ALL, BC_CMD_ID_CMD_123, BC_CMD_ID_CMD_209, BC_CMD_ID_CMD_265, BC_CMD_ID_CMD_440, BC_CMD_ID_COVER_PREVIEW, BC_CMD_ID_COVER_RESPONSE, BC_CMD_ID_COVER_STANDALONE_458, BC_CMD_ID_COVER_STANDALONE_459, BC_CMD_ID_COVER_STANDALONE_460, BC_CMD_ID_COVER_STANDALONE_461, BC_CMD_ID_COVER_STANDALONE_462, BC_CMD_ID_DEVICE_DETECT, BC_CMD_ID_DEVICE_DETECT_CANDIDATES, BC_CMD_ID_DING_DONG_CTRL, BC_CMD_ID_DING_DONG_OPT, BC_CMD_ID_FILE_INFO_LIST_CLOSE, BC_CMD_ID_FILE_INFO_LIST_DL_VIDEO, BC_CMD_ID_FILE_INFO_LIST_DOWNLOAD, BC_CMD_ID_FILE_INFO_LIST_GET, BC_CMD_ID_FILE_INFO_LIST_OPEN, BC_CMD_ID_FILE_INFO_LIST_REPLAY, BC_CMD_ID_FILE_INFO_LIST_STOP, BC_CMD_ID_FIND_REC_VIDEO_CLOSE, BC_CMD_ID_FIND_REC_VIDEO_GET, BC_CMD_ID_FIND_REC_VIDEO_OPEN, BC_CMD_ID_FLOODLIGHT_STATUS_LIST, BC_CMD_ID_GET_ABILITY_SUPPORT, BC_CMD_ID_GET_ACCESS_USER_LIST, BC_CMD_ID_GET_AI_ALARM, BC_CMD_ID_GET_AI_CFG, BC_CMD_ID_GET_AI_DENOISE, BC_CMD_ID_GET_AUDIO_ALARM, BC_CMD_ID_GET_AUDIO_CFG, BC_CMD_ID_GET_AUDIO_TASK, BC_CMD_ID_GET_AUTO_FOCUS, BC_CMD_ID_GET_AUTO_REBOOT, BC_CMD_ID_GET_BATTERY_INFO, BC_CMD_ID_GET_BATTERY_INFO_LIST, BC_CMD_ID_GET_DAY_NIGHT_THRESHOLD, BC_CMD_ID_GET_DAY_RECORDS, BC_CMD_ID_GET_DING_DONG_CFG, BC_CMD_ID_GET_DING_DONG_LIST, BC_CMD_ID_GET_DING_DONG_SILENT, BC_CMD_ID_GET_DST, BC_CMD_ID_GET_EMAIL, BC_CMD_ID_GET_EMAIL_TASK, BC_CMD_ID_GET_ENC, BC_CMD_ID_GET_FTP_TASK, BC_CMD_ID_GET_HDD_INFO_LIST, BC_CMD_ID_GET_KIT_AP_CFG, BC_CMD_ID_GET_LED_STATE, BC_CMD_ID_GET_MOTION_ALARM, BC_CMD_ID_GET_NTP, BC_CMD_ID_GET_ONLINE_USER_LIST, BC_CMD_ID_GET_OSD_DATETIME, BC_CMD_ID_GET_PIR_INFO, BC_CMD_ID_GET_PRIVACY_MASK, BC_CMD_ID_GET_PTZ_POSITION, BC_CMD_ID_GET_PTZ_PRESET, BC_CMD_ID_GET_PUSH_TASK, BC_CMD_ID_GET_RECORD, BC_CMD_ID_GET_RECORD_CFG, BC_CMD_ID_GET_REC_ENC_CFG, BC_CMD_ID_GET_SIREN_STATUS, BC_CMD_ID_GET_SLEEP_STATE, BC_CMD_ID_GET_SNAPSHOT, BC_CMD_ID_GET_STREAM_INFO_LIST, BC_CMD_ID_GET_SUPPORT, BC_CMD_ID_GET_SYSTEM_GENERAL, BC_CMD_ID_GET_TIMELAPSE_CFG, BC_CMD_ID_GET_UID, BC_CMD_ID_GET_VERSION_INFO, BC_CMD_ID_GET_VIDEO_INPUT, BC_CMD_ID_GET_WHITE_LED, BC_CMD_ID_GET_WIFI, BC_CMD_ID_GET_WIFI_SIGNAL, BC_CMD_ID_GET_ZOOM_FOCUS, BC_CMD_ID_LOGIN, BC_CMD_ID_LOGOUT, BC_CMD_ID_PING, BC_CMD_ID_PTZ_CONTROL, BC_CMD_ID_PTZ_CONTROL_PRESET, BC_CMD_ID_PUSH_COORDINATE_POINT_LIST, BC_CMD_ID_PUSH_DINGDONG_LIST, BC_CMD_ID_PUSH_NET_INFO, BC_CMD_ID_PUSH_SERIAL, BC_CMD_ID_PUSH_SLEEP_STATUS, BC_CMD_ID_PUSH_VIDEO_INPUT, BC_CMD_ID_QUICK_REPLY_PLAY, BC_CMD_ID_SET_AI_ALARM, BC_CMD_ID_SET_AI_CFG, BC_CMD_ID_SET_AI_DENOISE, BC_CMD_ID_SET_AUDIO_CFG, BC_CMD_ID_SET_AUDIO_TASK, BC_CMD_ID_SET_AUTO_FOCUS, BC_CMD_ID_SET_AUTO_REBOOT, BC_CMD_ID_SET_DAY_NIGHT_THRESHOLD, BC_CMD_ID_SET_DING_DONG_CFG, BC_CMD_ID_SET_DING_DONG_SILENT, BC_CMD_ID_SET_DST, BC_CMD_ID_SET_EMAIL, BC_CMD_ID_SET_EMAIL_TASK, BC_CMD_ID_SET_ENC, BC_CMD_ID_SET_LED_STATE, BC_CMD_ID_SET_MOTION_ALARM, BC_CMD_ID_SET_NTP, BC_CMD_ID_SET_OSD_DATETIME, BC_CMD_ID_SET_PIR_INFO, BC_CMD_ID_SET_PRIVACY_MASK, BC_CMD_ID_SET_PUSH_TASK, BC_CMD_ID_SET_RECORD, BC_CMD_ID_SET_RECORD_CFG, BC_CMD_ID_SET_SYSTEM_GENERAL, BC_CMD_ID_SET_VIDEO_INPUT, BC_CMD_ID_SET_WHITE_LED_STATE, BC_CMD_ID_SET_WHITE_LED_TASK, BC_CMD_ID_SET_ZOOM_FOCUS, BC_CMD_ID_SUPPORT, BC_CMD_ID_TALK, BC_CMD_ID_TALK_ABILITY, BC_CMD_ID_TALK_CONFIG, BC_CMD_ID_TALK_RESET, BC_CMD_ID_TEST_EMAIL, BC_CMD_ID_UDP_KEEP_ALIVE, BC_CMD_ID_VIDEO, BC_CMD_ID_VIDEO_STOP, BC_MAGIC, BC_MAGIC_REV, BC_TCP_DEFAULT_PORT, BC_XML_KEY, type BackchannelCodec, type BackchannelRoute, type BaichuanCachedPush, BaichuanClient, type BaichuanClientOptions, type BaichuanCoordinatePointListPush, type BaichuanDingdongListPush, type BaichuanEndpointsServerOptions, BaichuanEventEmitter, type BaichuanFloodlightStatusPush, type BaichuanFrame, BaichuanFrameParser, type BaichuanGetOsdDatetimeResult, type BaichuanHeader, BaichuanHlsServer, type BaichuanHlsServerOptions, BaichuanHttpStreamServer, type BaichuanHttpStreamServerOptions, type BaichuanLedState, BaichuanMjpegServer, type BaichuanMjpegServerOptions, type BaichuanNetInfoPush, type BaichuanOsdChannelName, type BaichuanOsdDatetime, type BaichuanRecordCfg, type BaichuanRecordSchedule, BaichuanRtspBackchannelServer, type BaichuanRtspBackchannelServerOptions, BaichuanRtspServer, type BaichuanRtspServerOptions, type BaichuanSerialPush, type BaichuanSettingsPushCacheEntry, type BaichuanSirenStatusPush, type BaichuanSleepState, type BaichuanSleepStatusPush, type BaichuanStreamEncodeTable, type BaichuanStreamInfo, type BaichuanStreamInfoList, type BaichuanTransport, type BaichuanVersionInfo, type BaichuanVideoInputPush, BaichuanVideoStream, type BaichuanVideoStreamOptions, BaichuanWebRTCServer, type BaichuanWebRTCServerOptions, type BaichuanWifi, type BaichuanWifiSignal, type BatteryInfo, type BatteryInfoResponse, type BcMedia, type BcMediaAac, type BcMediaAdpcm, BcMediaAnnexBDecoder, type BcMediaAnnexBDecoderStats, type BcMediaAnnexBInfo, type BcMediaAudioFrame, type BcMediaAudioType, BcMediaCodec, type BcMediaIframe, type BcMediaInfoV1, type BcMediaInfoV2, type BcMediaPframe, type BcMediaType, type BcMediaVideoFrame, type BcMediaVideoType, type BcUdpDiscoveryMethod, BcUdpStream, type BcUdpStreamOptions, type CgiAbility, type CgiAbilityChn, type CgiAbilityLeaf, type CgiAiAlarm, type CgiAiCfg, type CgiAiKey, type CgiAiStateValue, type CgiAudioAlarm, type CgiAudioAlarmPlayParam, type CgiAudioCfg, type CgiAudioNoise, type CgiAutoFocus, type CgiBattery, type CgiChannelStatusEntry, type CgiChnTypeInfoValue, type CgiDetectionState, type CgiDevInfo, type CgiDeviceInfoEntries, type CgiEmail, type CgiEnc, type CgiEncStream, type CgiEncValue, type CgiGetAbilityResponse, type CgiGetAbilityValue, type CgiGetAiAlarmValue, type CgiGetAiCfgValue, type CgiGetAiStateResponse, type CgiGetAudioAlarmValue, type CgiGetAudioCfgValue, type CgiGetAudioNoiseValue, type CgiGetAutoFocusValue, type CgiGetChannelstatusResponse, type CgiGetChannelstatusValue, type CgiGetChnTypeInfoResponse, type CgiGetDevInfoResponse, type CgiGetDevInfoValue, type CgiGetEmailValue, type CgiGetEncResponse, type CgiGetImageValue, type CgiGetIrLightsValue, type CgiGetIspValue, type CgiGetMaskValue, type CgiGetMdAlarmValue, type CgiGetOsdValue, type CgiGetPushValue, type CgiGetRecValue, type CgiGetRtspUrlResponse, type CgiGetRtspUrlValue, type CgiGetVideoclipsParams, type CgiImage, type CgiIrLights, type CgiIsp, type CgiMask, type CgiMaskShelter, type CgiMdAlarm, type CgiMdAlarmScope, type CgiMdAlarmSens, type CgiNetPort, type CgiOsd, type CgiPirInfo, type CgiPtzPreset, type CgiPush, type CgiRec, type CgiRecSchedule, type CgiSetAiAlarmParam, type CgiSetAiCfgParam, type CgiSetAudioAlarmParam, type CgiSetAudioCfgParam, type CgiSetAudioNoiseParam, type CgiSetAutoFocusParam, type CgiSetEmailParam, type CgiSetEncParam, type CgiSetImageParam, type CgiSetIrLightsParam, type CgiSetIspParam, type CgiSetMaskParam, type CgiSetMdAlarmParam, type CgiSetOsdParam, type CgiSetPirInfoParam, type CgiSetPushParam, type CgiSetRecParam, type CgiSetWhiteLedParam, type CgiWhiteLed, type ChannelPushCacheEntry, type ChannelPushDataEntry, type ChannelRecordingFile, type ChannelStreamMetadata, type ChimeAlarmCfg, type ChimeCfg, type ChimeDevice, type ChimeParams, type CollectNvrDiagnosticsOptions, CompositeRtspServer, type CompositeRtspServerOptions, CompositeStream, type CompositeStreamOptions, type CompositeStreamPipOptions, type CompressionStream, ContinuousVideoStream, type ContinuousVideoStreamOptions, type CreateEmailPushServerParams, DEFAULT_SHELTER_CANVAS, DUAL_LENS_DUAL_MOTION_MODELS, DUAL_LENS_MODELS, DUAL_LENS_SINGLE_MOTION_MODELS, type DayNightThresholdConfig, type DayOfWeek, type DebugConfig, type DebugOptions, type DeviceAbilities, type DeviceCapabilities, type DeviceCapabilitiesCacheEntry, type DeviceCapabilitiesDebugInfo, type DeviceCapabilitiesResult, type DeviceInfoResponse, type DeviceInputData, type DeviceObjectType, type DeviceStatusResponse, type DeviceSupportFlags, type DeviceType, type DiagnosticsCollectorResult, type DiagnosticsStreamKind, type DiscoveredDevice, type DiscoveryOptions, type DownloadRecordingParams, type DstConfig, type DstConfigPatch, type DualLensChannelAnalysis, type DualLensChannelInfo, type EmailAttachmentType, type EmailConfig, type EmailConfigPatch, type EmailPushEvent, type EmailPushInferredType, type EmailPushLogger, type EmailPushServerConfig, type EmailPushServerInstance, type EmailPushServerStatus, type EmailPushTlsOptions, type EmailTaskConfig, type EmailTaskScheduleItem, type EmailTextType, type EncConfig, type EncOptions, type EncResolutionOption, type EncStreamOptions, type EncStreamPatch, type EncryptionProtocol, type Events, type EventsResponse, type FloodlightTaskConfig, type FloodlightTaskState, type FtpTaskConfig, type GetRecordingVideoResult, type GetRecordingVideoStats, type GetVideoclipsParams, type GetVodUrlParams, Go2rtcTcpServer, type Go2rtcTcpServerOptions, H264RtpDepacketizer, H265RtpDepacketizer, type HardwiredChimeState, type HddInfoListConfig, type HlsCodec, type HlsHttpResponse, type HlsServerStatus, type HlsSession, HlsSessionManager, type HlsSessionManagerOptions, type HlsSessionParams, Intercom, type IntercomOptions, type IrLightsConfig, type IspConfig, type JsonObject, type JsonPrimitive, type JsonValue, type LastSleepProbe, type LoadTlsParams, type LogLevel, type Logger$1 as Logger, type LoggerCallback, type LoginResponseValue, type MaskConfig, type MaxEncryption, type MediaStream, type MjpegFrame, MjpegTransformer, type MjpegTransformerOptions, type ModelFixtureCaptureResult, type MotionAlarmConfig, type MotionEvent, type MotionSensitivityBand, type MotionZoneScope, MpegTsMuxer, type MpegTsMuxerOptions, NVR_HUB_EXACT_TYPES, NVR_HUB_MODEL_PATTERNS, type NativeVideoStreamVariant, type NtpConfig, type NtpConfigPatch, type NvrChannelsSummaryCacheEntry, type OnlineUserListConfig, type OsdChannel, type OsdConfig, type OsdDateFormat, type OsdTime, type ParsedRecordingFileName, type PipPosition, type PirConfig, type PirState, type PlaceholderOptions, PlaceholderRenderer, type PlaybackSnapshotStreamInfo, type PrivacyMaskZones, type PtzCommand, type PtzPosition, type PtzPreset, type RecEncConfig, type RecordingAudioCodec, type RecordingDetectionClass, type RecordingDevType, type RecordingFile, type RecordingPlaybackUrls, type RecordingStreamType, type RecordingVideoCodec, type RecordingVodFlags, type RecordingVodStreamHint, type RecordingsCacheEntry, type RecordingsQueueItem, type ReolinkAiNotification, ReolinkBaichuanApi, type ReolinkBaichuanChannelIdentity, type ReolinkBaichuanChannelInfo, type ReolinkBaichuanDeviceSummary, type ReolinkBaichuanNetworkInfo, type ReolinkBaichuanPorts, ReolinkCgiApi, type ReolinkCmdRequest, type ReolinkCmdResponse, type ReolinkCmdResponseExt, type ReolinkDayNightNotification, type ReolinkDetectionBox, type ReolinkDetectionDecodeState, type ReolinkDetectionEvent, type ReolinkDeviceInfo, type ReolinkDeviceInfoTag, type ReolinkEvent, ReolinkHttpClient, type ReolinkHttpClientOptions, type ReolinkJson, type ReolinkMotionNotification, type ReolinkNvrChannelInfo, type ReolinkNvrDeviceGroupSummary, type ReolinkNvrDeviceGroupsResult, type ReolinkSimpleEvent, type ReolinkSimpleEventType, type ReolinkSupportedStream, type ReolinkVideoStreamOptionsResult, type ReolinkVisitorNotification, type ReplayHttpServer, type ReplayHttpServerOptions, type ResponseMediaStreamOptions, type Rfc4571ApiFactoryContext, type Rfc4571Client, Rfc4571Muxer, type Rfc4571ReplayServer, type Rfc4571ReplayServerOptions, type Rfc4571TcpServer, type Rfc4571TcpServerOptions, type RtpPacketizationOptions, RtspBackchannel, type RtspBackchannelOptions, type RtspCreateOptions, type RtspProxyServerOptions, type RtspStreamProfile, type RunAllDiagnosticsConsecutivelyParams, type RunAllDiagnosticsConsecutivelyResult, type RunMultifocalDiagnosticsConsecutivelyParams, type RunMultifocalDiagnosticsConsecutivelyResult, type ShelterCanvas, type ShelterRect, type SirenState, type SirenStatusConfig, type SleepInferenceDecision, type SleepInferenceInput, type SleepInferencePending, type SleepState, type SleepStatus, type StreamMetadata, type StreamProfile, type StreamSamplingOptions, type StreamSamplingSelection, type SupportConfig, type SupportInfo, type SupportItem, type SystemGeneralConfig, type SystemGeneralPatch, type TalkAbility$1 as TalkAbility, type TalkAudioConfig, type TalkConfig, type TalkSession$1 as TalkSession, type TalkSessionInfo, type TimeFormat, type TimelapseCfgConfig, type TrackShelterRect, type TwoWayAudioConfig, type UdpDiscoveryMethod, type UnknownChunkListener, type VideoCodec, type VideoInputConfig, type VideoParamSets, type VideoStreamOptions, type VideoStreamOptionsCacheEntry, type VideoType, type VideoclipClientInfo, type VideoclipModeDecision, type VideoclipThumbnailResult, type VideoclipTranscodeMode, type VodFile, type VodSearchResponse, type VodSearchResult, type VodSearchStatus, type WakeUpOptions, type WebRTCAnswer, type WebRTCIceCandidate, type WebRTCOffer, type WebRTCSessionInfo, type WhiteLedConfig, type WhiteLedState, type WirelessChimeSilentState, type XmlJsonObject, type XmlJsonPrimitive, type XmlJsonValue, type ZoomFocusStatus, type ZoomFocusTriplet, _clearP2pLookupDedupForTests, _resetEmailPushBusForTests, abilitiesHasAny, aesDecrypt, aesEncrypt, alawToPcm16, applyStreamPatch, applyXmlTagPatch, asLogger, autoDetectDeviceType, bcDecrypt, bcEncrypt, bcHeaderHasPayloadOffset, buildAacAudioSpecificConfigHex, buildAbilityInfoExtensionXml, buildBinaryExtensionXml, buildChannelExtensionXml, buildFloodlightManualXml, buildHlsRedirectUrl, buildLoginXml, buildLogoutXml, buildPreviewStopXml, buildPreviewStopXmlV11, buildPreviewXml, buildPreviewXmlV11, buildPtzControlXml, buildPtzPresetXml, buildPtzPresetXmlV2, buildRfc4571Sdp, buildRtspPath, buildRtspUrl, buildSirenManualXml, buildSirenTimesXml, buildStartZoomFocusXml, buildWhiteLedStateXml, captureModelFixtures, collectCgiDiagnostics, collectMultifocalDiagnostics, collectNativeDiagnostics, collectNvrDiagnostics, computeDeviceCapabilities, computeExpectedStreamCompatibility, convertToAnnexB as convertH265ToAnnexB, convertToAnnexB$1 as convertToAnnexB, convertToLengthPrefixed, createBaichuanEndpointsServer, createDebugGateLogger, createDiagnosticsBundle, createEmailPushServer, createLogger, createMjpegBoundary, createNativeStream, createNullLogger, createReplayHttpServer, createRfc4571TcpServer, createRfc4571TcpServerForReplay, createRtspProxyServer, createTaggedLogger, decideSleepInferenceTransition, decideVideoclipTranscodeMode, decodeAiDetectCfg, decodeHeader, decodeMotionScopeBitmap, decodePrivacyMaskZones, decodeShelterCoord, deriveAesKey, detectIosClient, detectVideoCodecFromNal, discoverReolinkDevices, discoverViaArpTable, discoverViaDhcpListener, discoverViaHttpScan, discoverViaOnvif, discoverViaTcpPortScan, discoverViaUdpBroadcast, discoverViaUdpDirect, emitEmailPushEvent, encodeHeader, encodeImaAdpcm, encodeMotionScopeBitmap, encodeMotionSensitivityListXml, encodeShelterCoord, encodeShelterListXml, encodeTrackShelterListXml, ensureXmlHeader, extractCanvasFromShelterXml, extractH264ParamSetsFromAccessUnit, extractH265ParamSetsFromAccessUnit, extractPpsFromAnnexB, extractSpsFromAnnexB, extractVpsFromAnnexB, flattenAbilitiesForChannel, formatMjpegFrame, fullCoverageScope, getCameraEmailAddress, getConstructedVideoStreamOptions, getEmailPushCameraResolver, getGlobalLogger, getH265NalType, getLastEmailPushEvent, getMjpegContentType, getRecentEmailPushEvents, getSupportItemForChannel, getVideoStream, getVideoclipClientInfo, getXmlText, hasStartCodes as hasH265StartCodes, hasStartCodes$1 as hasStartCodes, isDualLenseModel, isH264KeyframeAnnexB, isH265Irap, isH265KeyframeAnnexB, isNvrHubModel, isSameSubnetAsAnyLocalIface, isTcpFailureThatShouldFallbackToUdp, isUnroutableForP2P, isValidH264AnnexBAccessUnit, isValidH265AnnexBAccessUnit, loadEmailPushTls, mapEmailPushInferredType, maskUid, md5HexUpper, md5StrModern, mulawToPcm16, normalizeDayNightMode, normalizeOpenClose, normalizeUid, onEmailPushEvent, packetizeAacAdtsFrame, packetizeAacRawFrame, packetizeH264, packetizeH265, parseAdtsHeader, parseBcMedia, parseRecordingFileName, parseRtpPacket, parseSupportXml, patchAiDetectCfgXml, patchMotionSensitivityListXml, patchNestedTag, patchShelterXml, printNvrDiagnostics, probeEgressForHost, runAllDiagnosticsConsecutively, runMultifocalDiagnosticsConsecutively, sampleStreams, sanitizeFixtureData, selectViableUdpMethods, setEmailPushCameraResolver, setGlobalLogger, splitAnnexBToNalPayloads$1 as splitAnnexBToNalPayloads, splitAnnexBToNals, splitAnnexBToNalPayloads as splitH265AnnexBToNalPayloads, tcpReachabilityProbe, testChannelStreams, upsamplePcm16, upsertXmlTag, xmlEscape, xmlIndicatesFloodlight, zipDirectory };