livekit-client 1.4.4 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. package/dist/livekit-client.esm.mjs +510 -38
  2. package/dist/livekit-client.esm.mjs.map +1 -1
  3. package/dist/livekit-client.umd.js +1 -1
  4. package/dist/livekit-client.umd.js.map +1 -1
  5. package/dist/src/connectionHelper/ConnectionCheck.d.ts +25 -0
  6. package/dist/src/connectionHelper/ConnectionCheck.d.ts.map +1 -0
  7. package/dist/src/connectionHelper/checks/Checker.d.ts +59 -0
  8. package/dist/src/connectionHelper/checks/Checker.d.ts.map +1 -0
  9. package/dist/src/connectionHelper/checks/publishAudio.d.ts +6 -0
  10. package/dist/src/connectionHelper/checks/publishAudio.d.ts.map +1 -0
  11. package/dist/src/connectionHelper/checks/publishVideo.d.ts +6 -0
  12. package/dist/src/connectionHelper/checks/publishVideo.d.ts.map +1 -0
  13. package/dist/src/connectionHelper/checks/reconnect.d.ts +6 -0
  14. package/dist/src/connectionHelper/checks/reconnect.d.ts.map +1 -0
  15. package/dist/src/connectionHelper/checks/turn.d.ts +6 -0
  16. package/dist/src/connectionHelper/checks/turn.d.ts.map +1 -0
  17. package/dist/src/connectionHelper/checks/webrtc.d.ts +6 -0
  18. package/dist/src/connectionHelper/checks/webrtc.d.ts.map +1 -0
  19. package/dist/src/connectionHelper/checks/websocket.d.ts +6 -0
  20. package/dist/src/connectionHelper/checks/websocket.d.ts.map +1 -0
  21. package/dist/src/index.d.ts +3 -1
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/proto/livekit_rtc.d.ts +8 -0
  24. package/dist/src/proto/livekit_rtc.d.ts.map +1 -1
  25. package/dist/src/room/DeviceManager.d.ts.map +1 -1
  26. package/dist/src/room/Room.d.ts +6 -0
  27. package/dist/src/room/Room.d.ts.map +1 -1
  28. package/dist/src/room/events.d.ts +5 -1
  29. package/dist/src/room/events.d.ts.map +1 -1
  30. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  31. package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
  32. package/dist/src/room/track/RemoteTrackPublication.d.ts +2 -0
  33. package/dist/src/room/track/RemoteTrackPublication.d.ts.map +1 -1
  34. package/dist/ts4.2/src/api/SignalClient.d.ts +85 -0
  35. package/dist/ts4.2/src/connectionHelper/ConnectionCheck.d.ts +25 -0
  36. package/dist/ts4.2/src/connectionHelper/checks/Checker.d.ts +59 -0
  37. package/dist/ts4.2/src/connectionHelper/checks/publishAudio.d.ts +6 -0
  38. package/dist/ts4.2/src/connectionHelper/checks/publishVideo.d.ts +6 -0
  39. package/dist/ts4.2/src/connectionHelper/checks/reconnect.d.ts +6 -0
  40. package/dist/ts4.2/src/connectionHelper/checks/turn.d.ts +6 -0
  41. package/dist/ts4.2/src/connectionHelper/checks/webrtc.d.ts +6 -0
  42. package/dist/ts4.2/src/connectionHelper/checks/websocket.d.ts +6 -0
  43. package/dist/ts4.2/src/index.d.ts +30 -0
  44. package/dist/ts4.2/src/logger.d.ts +26 -0
  45. package/dist/ts4.2/src/options.d.ts +91 -0
  46. package/dist/ts4.2/src/proto/google/protobuf/timestamp.d.ts +141 -0
  47. package/dist/ts4.2/src/proto/livekit_models.d.ts +1421 -0
  48. package/dist/ts4.2/src/proto/livekit_rtc.d.ts +7122 -0
  49. package/dist/ts4.2/src/room/DefaultReconnectPolicy.d.ts +8 -0
  50. package/dist/ts4.2/src/room/DeviceManager.d.ts +9 -0
  51. package/dist/ts4.2/src/room/PCTransport.d.ts +33 -0
  52. package/dist/ts4.2/src/room/RTCEngine.d.ts +96 -0
  53. package/dist/ts4.2/src/room/ReconnectPolicy.d.ts +23 -0
  54. package/dist/ts4.2/src/room/Room.d.ts +203 -0
  55. package/dist/ts4.2/src/room/defaults.d.ts +8 -0
  56. package/dist/ts4.2/src/room/errors.d.ts +39 -0
  57. package/dist/ts4.2/src/room/events.d.ts +422 -0
  58. package/dist/ts4.2/src/room/participant/LocalParticipant.d.ts +141 -0
  59. package/dist/ts4.2/src/room/participant/Participant.d.ts +92 -0
  60. package/dist/ts4.2/src/room/participant/ParticipantTrackPermission.d.ts +26 -0
  61. package/dist/ts4.2/src/room/participant/RemoteParticipant.d.ts +52 -0
  62. package/dist/ts4.2/src/room/participant/publishUtils.d.ts +19 -0
  63. package/dist/ts4.2/src/room/stats.d.ts +67 -0
  64. package/dist/ts4.2/src/room/track/LocalAudioTrack.d.ts +25 -0
  65. package/dist/ts4.2/src/room/track/LocalTrack.d.ts +42 -0
  66. package/dist/ts4.2/src/room/track/LocalTrackPublication.d.ts +38 -0
  67. package/dist/ts4.2/src/room/track/LocalVideoTrack.d.ts +53 -0
  68. package/dist/ts4.2/src/room/track/RemoteAudioTrack.d.ts +53 -0
  69. package/dist/ts4.2/src/room/track/RemoteTrack.d.ts +15 -0
  70. package/dist/ts4.2/src/room/track/RemoteTrackPublication.d.ts +61 -0
  71. package/dist/ts4.2/src/room/track/RemoteVideoTrack.d.ts +52 -0
  72. package/dist/ts4.2/src/room/track/Track.d.ts +121 -0
  73. package/dist/ts4.2/src/room/track/TrackPublication.d.ts +68 -0
  74. package/dist/ts4.2/src/room/track/create.d.ts +24 -0
  75. package/dist/ts4.2/src/room/track/options.d.ts +241 -0
  76. package/dist/ts4.2/src/room/track/types.d.ts +23 -0
  77. package/dist/ts4.2/src/room/track/utils.d.ts +14 -0
  78. package/dist/ts4.2/src/room/utils.d.ts +35 -0
  79. package/dist/ts4.2/src/test/MockMediaStreamTrack.d.ts +26 -0
  80. package/dist/ts4.2/src/test/mocks.d.ts +11 -0
  81. package/dist/ts4.2/src/version.d.ts +3 -0
  82. package/package.json +13 -3
  83. package/src/api/SignalClient.ts +2 -2
  84. package/src/connectionHelper/ConnectionCheck.ts +90 -0
  85. package/src/connectionHelper/checks/Checker.ts +164 -0
  86. package/src/connectionHelper/checks/publishAudio.ts +33 -0
  87. package/src/connectionHelper/checks/publishVideo.ts +33 -0
  88. package/src/connectionHelper/checks/reconnect.ts +45 -0
  89. package/src/connectionHelper/checks/turn.ts +53 -0
  90. package/src/connectionHelper/checks/webrtc.ts +18 -0
  91. package/src/connectionHelper/checks/websocket.ts +22 -0
  92. package/src/index.ts +3 -1
  93. package/src/proto/livekit_rtc.ts +12 -1
  94. package/src/room/DeviceManager.ts +0 -17
  95. package/src/room/Room.ts +22 -2
  96. package/src/room/events.ts +5 -0
  97. package/src/room/participant/LocalParticipant.ts +15 -8
  98. package/src/room/track/LocalTrack.ts +3 -0
  99. package/src/room/track/RemoteTrackPublication.ts +20 -0
@@ -0,0 +1,59 @@
1
+ import type TypedEmitter from 'typed-emitter';
2
+ import type { RoomConnectOptions, RoomOptions } from '../../options';
3
+ import Room from '../../room/Room';
4
+ import type RTCEngine from '../../room/RTCEngine';
5
+ declare type LogMessage = {
6
+ level: 'info' | 'warning' | 'error';
7
+ message: string;
8
+ };
9
+ export declare enum CheckStatus {
10
+ IDLE = 0,
11
+ RUNNING = 1,
12
+ SKIPPED = 2,
13
+ SUCCESS = 3,
14
+ FAILED = 4
15
+ }
16
+ export declare type CheckInfo = {
17
+ name: string;
18
+ logs: Array<LogMessage>;
19
+ status: CheckStatus;
20
+ description: string;
21
+ };
22
+ export interface CheckerOptions {
23
+ errorsAsWarnings?: boolean;
24
+ roomOptions?: RoomOptions;
25
+ connectOptions?: RoomConnectOptions;
26
+ }
27
+ declare const Checker_base: new () => TypedEmitter<CheckerCallbacks>;
28
+ export declare abstract class Checker extends Checker_base {
29
+ protected url: string;
30
+ protected token: string;
31
+ room: Room;
32
+ connectOptions?: RoomConnectOptions;
33
+ status: CheckStatus;
34
+ logs: Array<LogMessage>;
35
+ errorsAsWarnings: boolean;
36
+ name: string;
37
+ constructor(url: string, token: string, options?: CheckerOptions);
38
+ abstract get description(): string;
39
+ protected abstract perform(): Promise<void>;
40
+ run(onComplete?: () => void): Promise<CheckInfo>;
41
+ protected isSuccess(): boolean;
42
+ protected connect(): Promise<Room>;
43
+ protected disconnect(): Promise<void>;
44
+ protected skip(): void;
45
+ protected appendMessage(message: string): void;
46
+ protected appendWarning(message: string): void;
47
+ protected appendError(message: string): void;
48
+ protected setStatus(status: CheckStatus): void;
49
+ protected get engine(): RTCEngine | undefined;
50
+ getInfo(): CheckInfo;
51
+ }
52
+ export declare type InstantiableCheck<T extends Checker> = {
53
+ new (url: string, token: string, options?: CheckerOptions): T;
54
+ };
55
+ declare type CheckerCallbacks = {
56
+ update: (info: CheckInfo) => void;
57
+ };
58
+ export {};
59
+ //# sourceMappingURL=Checker.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { Checker } from './Checker';
2
+ export declare class PublishAudioCheck extends Checker {
3
+ get description(): string;
4
+ perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=publishAudio.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { Checker } from './Checker';
2
+ export declare class PublishVideoCheck extends Checker {
3
+ get description(): string;
4
+ perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=publishVideo.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { Checker } from './Checker';
2
+ export declare class ReconnectCheck extends Checker {
3
+ get description(): string;
4
+ perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=reconnect.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { Checker } from './Checker';
2
+ export declare class TURNCheck extends Checker {
3
+ get description(): string;
4
+ perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=turn.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { Checker } from './Checker';
2
+ export declare class WebRTCCheck extends Checker {
3
+ get description(): string;
4
+ protected perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=webrtc.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { Checker } from './Checker';
2
+ export declare class WebSocketCheck extends Checker {
3
+ get description(): string;
4
+ protected perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1,30 @@
1
+ import { LogLevel, setLogExtension, setLogLevel } from './logger';
2
+ import { DataPacket_Kind, DisconnectReason, VideoQuality } from './proto/livekit_models';
3
+ import DefaultReconnectPolicy from './room/DefaultReconnectPolicy';
4
+ import LocalParticipant from './room/participant/LocalParticipant';
5
+ import Participant, { ConnectionQuality } from './room/participant/Participant';
6
+ import type { ParticipantTrackPermission } from './room/participant/ParticipantTrackPermission';
7
+ import RemoteParticipant from './room/participant/RemoteParticipant';
8
+ import Room, { ConnectionState, RoomState } from './room/Room';
9
+ import LocalAudioTrack from './room/track/LocalAudioTrack';
10
+ import LocalTrack from './room/track/LocalTrack';
11
+ import LocalTrackPublication from './room/track/LocalTrackPublication';
12
+ import LocalVideoTrack from './room/track/LocalVideoTrack';
13
+ import RemoteAudioTrack from './room/track/RemoteAudioTrack';
14
+ import RemoteTrack from './room/track/RemoteTrack';
15
+ import RemoteTrackPublication from './room/track/RemoteTrackPublication';
16
+ import RemoteVideoTrack from './room/track/RemoteVideoTrack';
17
+ import type { ElementInfo } from './room/track/RemoteVideoTrack';
18
+ import { TrackPublication } from './room/track/TrackPublication';
19
+ import { getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, isBrowserSupported, supportsAdaptiveStream, supportsAV1, supportsDynacast } from './room/utils';
20
+ export * from './options';
21
+ export * from './room/errors';
22
+ export * from './room/events';
23
+ export * from './room/track/create';
24
+ export * from './room/track/options';
25
+ export * from './room/track/Track';
26
+ export * from './room/track/types';
27
+ export * from './version';
28
+ export * from './connectionHelper/ConnectionCheck';
29
+ export { setLogLevel, setLogExtension, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, isBrowserSupported, supportsAdaptiveStream, supportsDynacast, supportsAV1, LogLevel, Room, ConnectionState, RoomState, DataPacket_Kind, DisconnectReason, Participant, RemoteParticipant, LocalParticipant, LocalAudioTrack, LocalVideoTrack, LocalTrack, LocalTrackPublication, RemoteTrack, RemoteAudioTrack, RemoteVideoTrack, RemoteTrackPublication, ParticipantTrackPermission, TrackPublication, VideoQuality, ConnectionQuality, ElementInfo, DefaultReconnectPolicy, };
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,26 @@
1
+ export declare enum LogLevel {
2
+ trace = 0,
3
+ debug = 1,
4
+ info = 2,
5
+ warn = 3,
6
+ error = 4,
7
+ silent = 5
8
+ }
9
+ declare type LogLevelString = keyof typeof LogLevel;
10
+ declare type StructuredLogger = {
11
+ trace: (msg: string, context?: object) => void;
12
+ debug: (msg: string, context?: object) => void;
13
+ info: (msg: string, context?: object) => void;
14
+ warn: (msg: string, context?: object) => void;
15
+ error: (msg: string, context?: object) => void;
16
+ };
17
+ declare const _default: StructuredLogger;
18
+ export default _default;
19
+ export declare function setLogLevel(level: LogLevel | LogLevelString): void;
20
+ export declare type LogExtension = (level: LogLevel, msg: string, context?: object) => void;
21
+ /**
22
+ * use this to hook into the logging function to allow sending internal livekit logs to third party services
23
+ * if set, the browser logs will lose their stacktrace information (see https://github.com/pimterry/loglevel#writing-plugins)
24
+ */
25
+ export declare function setLogExtension(extension: LogExtension): void;
26
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1,91 @@
1
+ import type { ReconnectPolicy } from './room/ReconnectPolicy';
2
+ import type { AudioCaptureOptions, AudioOutputOptions, TrackPublishDefaults, VideoCaptureOptions } from './room/track/options';
3
+ import type { AdaptiveStreamSettings } from './room/track/types';
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface InternalRoomOptions {
8
+ /**
9
+ * AdaptiveStream lets LiveKit automatically manage quality of subscribed
10
+ * video tracks to optimize for bandwidth and CPU.
11
+ * When attached video elements are visible, it'll choose an appropriate
12
+ * resolution based on the size of largest video element it's attached to.
13
+ *
14
+ * When none of the video elements are visible, it'll temporarily pause
15
+ * the data flow until they are visible again.
16
+ */
17
+ adaptiveStream: AdaptiveStreamSettings | boolean;
18
+ /**
19
+ * enable Dynacast, off by default. With Dynacast dynamically pauses
20
+ * video layers that are not being consumed by any subscribers, significantly
21
+ * reducing publishing CPU and bandwidth usage.
22
+ */
23
+ dynacast: boolean;
24
+ /**
25
+ * default options to use when capturing user's audio
26
+ */
27
+ audioCaptureDefaults?: AudioCaptureOptions;
28
+ /**
29
+ * default options to use when capturing user's video
30
+ */
31
+ videoCaptureDefaults?: VideoCaptureOptions;
32
+ /**
33
+ * default options to use when publishing tracks
34
+ */
35
+ publishDefaults?: TrackPublishDefaults;
36
+ /**
37
+ * audio output for the room
38
+ */
39
+ audioOutput?: AudioOutputOptions;
40
+ /**
41
+ * should local tracks be stopped when they are unpublished. defaults to true
42
+ * set this to false if you would prefer to clean up unpublished local tracks manually.
43
+ */
44
+ stopLocalTrackOnUnpublish: boolean;
45
+ /**
46
+ * policy to use when attempting to reconnect
47
+ */
48
+ reconnectPolicy: ReconnectPolicy;
49
+ /**
50
+ * @internal
51
+ * experimental flag, introduce a delay before sending signaling messages
52
+ */
53
+ expSignalLatency?: number;
54
+ /**
55
+ * @internal
56
+ * @experimental
57
+ * experimental flag, mix all audio tracks in web audio
58
+ */
59
+ expWebAudioMix: boolean;
60
+ }
61
+ /**
62
+ * Options for when creating a new room
63
+ */
64
+ export interface RoomOptions extends Partial<InternalRoomOptions> {
65
+ }
66
+ /**
67
+ * @internal
68
+ */
69
+ export interface InternalRoomConnectOptions {
70
+ /** autosubscribe to room tracks after joining, defaults to true */
71
+ autoSubscribe: boolean;
72
+ /** amount of time for PeerConnection to be established, defaults to 15s */
73
+ peerConnectionTimeout: number;
74
+ /**
75
+ * use to override any RTCConfiguration options.
76
+ */
77
+ rtcConfig?: RTCConfiguration;
78
+ /**
79
+ * @deprecated
80
+ * publish only mode
81
+ */
82
+ publishOnly?: string;
83
+ /** specifies how often an initial join connection is allowed to retry (only applicable if server is not reachable) */
84
+ maxRetries: number;
85
+ }
86
+ /**
87
+ * Options for Room.connect()
88
+ */
89
+ export interface RoomConnectOptions extends Partial<InternalRoomConnectOptions> {
90
+ }
91
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1,141 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ export declare const protobufPackage = "google.protobuf";
3
+ /**
4
+ * A Timestamp represents a point in time independent of any time zone or local
5
+ * calendar, encoded as a count of seconds and fractions of seconds at
6
+ * nanosecond resolution. The count is relative to an epoch at UTC midnight on
7
+ * January 1, 1970, in the proleptic Gregorian calendar which extends the
8
+ * Gregorian calendar backwards to year one.
9
+ *
10
+ * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
11
+ * second table is needed for interpretation, using a [24-hour linear
12
+ * smear](https://developers.google.com/time/smear).
13
+ *
14
+ * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
15
+ * restricting to that range, we ensure that we can convert to and from [RFC
16
+ * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
17
+ *
18
+ * # Examples
19
+ *
20
+ * Example 1: Compute Timestamp from POSIX `time()`.
21
+ *
22
+ * Timestamp timestamp;
23
+ * timestamp.set_seconds(time(NULL));
24
+ * timestamp.set_nanos(0);
25
+ *
26
+ * Example 2: Compute Timestamp from POSIX `gettimeofday()`.
27
+ *
28
+ * struct timeval tv;
29
+ * gettimeofday(&tv, NULL);
30
+ *
31
+ * Timestamp timestamp;
32
+ * timestamp.set_seconds(tv.tv_sec);
33
+ * timestamp.set_nanos(tv.tv_usec * 1000);
34
+ *
35
+ * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
36
+ *
37
+ * FILETIME ft;
38
+ * GetSystemTimeAsFileTime(&ft);
39
+ * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
40
+ *
41
+ * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
42
+ * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
43
+ * Timestamp timestamp;
44
+ * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
45
+ * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
46
+ *
47
+ * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
48
+ *
49
+ * long millis = System.currentTimeMillis();
50
+ *
51
+ * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
52
+ * .setNanos((int) ((millis % 1000) * 1000000)).build();
53
+ *
54
+ * Example 5: Compute Timestamp from Java `Instant.now()`.
55
+ *
56
+ * Instant now = Instant.now();
57
+ *
58
+ * Timestamp timestamp =
59
+ * Timestamp.newBuilder().setSeconds(now.getEpochSecond())
60
+ * .setNanos(now.getNano()).build();
61
+ *
62
+ * Example 6: Compute Timestamp from current time in Python.
63
+ *
64
+ * timestamp = Timestamp()
65
+ * timestamp.GetCurrentTime()
66
+ *
67
+ * # JSON Mapping
68
+ *
69
+ * In JSON format, the Timestamp type is encoded as a string in the
70
+ * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
71
+ * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
72
+ * where {year} is always expressed using four digits while {month}, {day},
73
+ * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
74
+ * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
75
+ * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
76
+ * is required. A proto3 JSON serializer should always use UTC (as indicated by
77
+ * "Z") when printing the Timestamp type and a proto3 JSON parser should be
78
+ * able to accept both UTC and other timezones (as indicated by an offset).
79
+ *
80
+ * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
81
+ * 01:30 UTC on January 15, 2017.
82
+ *
83
+ * In JavaScript, one can convert a Date object to this format using the
84
+ * standard
85
+ * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
86
+ * method. In Python, a standard `datetime.datetime` object can be converted
87
+ * to this format using
88
+ * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
89
+ * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
90
+ * the Joda Time's [`ISODateTimeFormat.dateTime()`](
91
+ * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
92
+ * ) to obtain a formatter capable of generating timestamps in this format.
93
+ */
94
+ export interface Timestamp {
95
+ /**
96
+ * Represents seconds of UTC time since Unix epoch
97
+ * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
98
+ * 9999-12-31T23:59:59Z inclusive.
99
+ */
100
+ seconds: number;
101
+ /**
102
+ * Non-negative fractions of a second at nanosecond resolution. Negative
103
+ * second values with fractions must still have non-negative nanos values
104
+ * that count forward in time. Must be from 0 to 999,999,999
105
+ * inclusive.
106
+ */
107
+ nanos: number;
108
+ }
109
+ export declare const Timestamp: {
110
+ encode(message: Timestamp, writer?: _m0.Writer): _m0.Writer;
111
+ decode(input: _m0.Reader | Uint8Array, length?: number): Timestamp;
112
+ fromJSON(object: any): Timestamp;
113
+ toJSON(message: Timestamp): unknown;
114
+ fromPartial<I extends {
115
+ seconds?: number | undefined;
116
+ nanos?: number | undefined;
117
+ } & {
118
+ seconds?: number | undefined;
119
+ nanos?: number | undefined;
120
+ } & {
121
+ [K in Exclude<keyof I, keyof Timestamp>]: never;
122
+ }>(object: I): Timestamp;
123
+ };
124
+ declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
125
+ export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
126
+ $case: string;
127
+ } ? {
128
+ [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
129
+ } & {
130
+ $case: T["$case"];
131
+ } : T extends {} ? {
132
+ [K in keyof T]?: DeepPartial<T[K]>;
133
+ } : Partial<T>;
134
+ declare type KeysOfUnion<T> = T extends T ? keyof T : never;
135
+ export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
136
+ [K in keyof P]: Exact<P[K], I[K]>;
137
+ } & {
138
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
139
+ };
140
+ export {};
141
+ //# sourceMappingURL=timestamp.d.ts.map