Completed
Push — master ( 8e973a...811a95 )
by
unknown
03:40 queued 01:04
created
vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/TopicPartition.php 2 patches
Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -4,46 +4,46 @@
 block discarded – undo
4 4
 
5 5
 class TopicPartition
6 6
 {
7
-    /**
8
-     * @param string $topic
9
-     * @param int    $partition
10
-     * @param int    $offset
11
-     */
12
-    public function __construct($topic, $partition, $offset = null) {}
13
-
14
-    /**
15
-     * @return int
16
-     */
17
-    public function getOffset() {}
18
-
19
-    /**
20
-     * @return int
21
-     */
22
-    public function getPartition() {}
23
-
24
-    /**
25
-     * @return string
26
-     */
27
-    public function getTopic() {}
28
-
29
-    /**
30
-     * @param int $offset
31
-     *
32
-     * @return void
33
-     */
34
-    public function setOffset($offset) {}
35
-
36
-    /**
37
-     * @param int $partition
38
-     *
39
-     * @return void
40
-     */
41
-    public function setPartition($partition) {}
42
-
43
-    /**
44
-     * @param string $topic_name
45
-     *
46
-     * @return void
47
-     */
48
-    public function setTopic($topic_name) {}
7
+	/**
8
+	 * @param string $topic
9
+	 * @param int    $partition
10
+	 * @param int    $offset
11
+	 */
12
+	public function __construct($topic, $partition, $offset = null) {}
13
+
14
+	/**
15
+	 * @return int
16
+	 */
17
+	public function getOffset() {}
18
+
19
+	/**
20
+	 * @return int
21
+	 */
22
+	public function getPartition() {}
23
+
24
+	/**
25
+	 * @return string
26
+	 */
27
+	public function getTopic() {}
28
+
29
+	/**
30
+	 * @param int $offset
31
+	 *
32
+	 * @return void
33
+	 */
34
+	public function setOffset($offset) {}
35
+
36
+	/**
37
+	 * @param int $partition
38
+	 *
39
+	 * @return void
40
+	 */
41
+	public function setPartition($partition) {}
42
+
43
+	/**
44
+	 * @param string $topic_name
45
+	 *
46
+	 * @return void
47
+	 */
48
+	public function setTopic($topic_name) {}
49 49
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -2,8 +2,7 @@
 block discarded – undo
2 2
 
3 3
 namespace RdKafka;
4 4
 
5
-class TopicPartition
6
-{
5
+class TopicPartition {
7 6
     /**
8 7
      * @param string $topic
9 8
      * @param int    $partition
Please login to merge, or discard this patch.
php-scoper/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/TopicConf.php 2 patches
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -7,25 +7,25 @@
 block discarded – undo
7 7
  */
8 8
 class TopicConf
9 9
 {
10
-    public function __construct() {}
10
+	public function __construct() {}
11 11
 
12
-    /**
13
-     * @return array
14
-     */
15
-    public function dump() {}
12
+	/**
13
+	 * @return array
14
+	 */
15
+	public function dump() {}
16 16
 
17
-    /**
18
-     * @param string $name
19
-     * @param string $value
20
-     *
21
-     * @return void
22
-     */
23
-    public function set($name, $value) {}
17
+	/**
18
+	 * @param string $name
19
+	 * @param string $value
20
+	 *
21
+	 * @return void
22
+	 */
23
+	public function set($name, $value) {}
24 24
 
25
-    /**
26
-     * @param int $partitioner
27
-     *
28
-     * @return void
29
-     */
30
-    public function setPartitioner($partitioner) {}
25
+	/**
26
+	 * @param int $partitioner
27
+	 *
28
+	 * @return void
29
+	 */
30
+	public function setPartitioner($partitioner) {}
31 31
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -5,8 +5,7 @@
 block discarded – undo
5 5
 /**
6 6
  * Configuration reference: https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md
7 7
  */
8
-class TopicConf
9
-{
8
+class TopicConf {
10 9
     public function __construct() {}
11 10
 
12 11
     /**
Please login to merge, or discard this patch.
vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/KafkaConsumerTopic.php 2 patches
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -4,13 +4,13 @@
 block discarded – undo
4 4
 
5 5
 class KafkaConsumerTopic extends Topic
6 6
 {
7
-    private function __construct() {}
7
+	private function __construct() {}
8 8
 
9
-    /**
10
-     * @param int $partition
11
-     * @param int $offset
12
-     *
13
-     * @return void
14
-     */
15
-    public function offsetStore($partition, $offset) {}
9
+	/**
10
+	 * @param int $partition
11
+	 * @param int $offset
12
+	 *
13
+	 * @return void
14
+	 */
15
+	public function offsetStore($partition, $offset) {}
16 16
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -2,8 +2,7 @@
 block discarded – undo
2 2
 
3 3
 namespace RdKafka;
4 4
 
5
-class KafkaConsumerTopic extends Topic
6
-{
5
+class KafkaConsumerTopic extends Topic {
7 6
     private function __construct() {}
8 7
 
9 8
     /**
Please login to merge, or discard this patch.
vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/KafkaConsumer.php 2 patches
Indentation   +117 added lines, -117 removed lines patch added patch discarded remove patch
@@ -4,121 +4,121 @@
 block discarded – undo
4 4
 
5 5
 class KafkaConsumer
6 6
 {
7
-    /**
8
-     * @param Conf $conf
9
-     */
10
-    public function __construct($conf) {}
11
-
12
-    /**
13
-     * @param TopicPartition[] $topic_partitions
14
-     *
15
-     * @throws Exception
16
-     * @return void
17
-     */
18
-    public function assign($topic_partitions = null) {}
19
-
20
-    /**
21
-     * @param null|Message|TopicPartition[] $message_or_offsets
22
-     *
23
-     * @throws Exception
24
-     * @return void
25
-     */
26
-    public function commit($message_or_offsets = null) {}
27
-
28
-    /**
29
-     * @param null|Message|TopicPartition[] $message_or_offsets
30
-     *
31
-     * @throws Exception
32
-     * @return void
33
-     */
34
-    public function commitAsync($message_or_offsets = null) {}
35
-
36
-    /**
37
-     * @param int $timeout_ms
38
-     *
39
-     * @throws Exception
40
-     * @throws \InvalidArgumentException
41
-     * @return Message
42
-     */
43
-    public function consume($timeout_ms) {}
44
-
45
-    /**
46
-     * @throws Exception
47
-     * @return TopicPartition[]
48
-     */
49
-    public function getAssignment() {}
50
-
51
-    /**
52
-     * @param bool               $all_topics
53
-     * @param KafkaConsumerTopic $only_topic
54
-     * @param int                $timeout_ms
55
-     *
56
-     * @throws Exception
57
-     * @return Metadata
58
-     */
59
-    public function getMetadata($all_topics, $only_topic = null, $timeout_ms) {}
60
-
61
-    /**
62
-     * @return array
63
-     */
64
-    public function getSubscription() {}
65
-
66
-    /**
67
-     * @param array $topics
68
-     *
69
-     * @throws Exception
70
-     * @return void
71
-     */
72
-    public function subscribe($topics) {}
73
-
74
-    /**
75
-     * @throws Exception
76
-     * @return void
77
-     */
78
-    public function unsubscribe() {}
79
-
80
-    /**
81
-     * @param array $topic_partitions
82
-     * @param int   $timeout_ms
83
-     *
84
-     * @return array
85
-     */
86
-    public function getCommittedOffsets($topic_partitions, $timeout_ms) {}
87
-
88
-    /**
89
-     * @param TopicPartition[] $topic_partitions
90
-     * @param int $timeout_ms
91
-     *
92
-     * @return TopicPartition[]
93
-     */
94
-    public function offsetsForTimes($topic_partitions, $timeout_ms) {}
95
-
96
-    /**
97
-     * @param string $topic
98
-     * @param int $partition
99
-     * @param int &$low
100
-     * @param int &$high
101
-     * @param int $timeout_ms
102
-     *
103
-     * @return void
104
-     */
105
-    public function queryWatermarkOffsets($topic, $partition = 0, &$low = 0, &$high = 0, $timeout_ms = 0) {}
106
-
107
-    /**
108
-     * @param TopicPartition[] $topic_partitions
109
-     */
110
-    public function getOffsetPositions($topic_partitions) {}
111
-
112
-    /**
113
-     * @param string    $topic_name
114
-     * @param null|TopicConf $topic_conf
115
-     *
116
-     * @return Topic
117
-     */
118
-    public function newTopic($topic_name, $topic_conf = null) {}
119
-
120
-    /**
121
-     * @return void
122
-     */
123
-    public function close() {}
7
+	/**
8
+	 * @param Conf $conf
9
+	 */
10
+	public function __construct($conf) {}
11
+
12
+	/**
13
+	 * @param TopicPartition[] $topic_partitions
14
+	 *
15
+	 * @throws Exception
16
+	 * @return void
17
+	 */
18
+	public function assign($topic_partitions = null) {}
19
+
20
+	/**
21
+	 * @param null|Message|TopicPartition[] $message_or_offsets
22
+	 *
23
+	 * @throws Exception
24
+	 * @return void
25
+	 */
26
+	public function commit($message_or_offsets = null) {}
27
+
28
+	/**
29
+	 * @param null|Message|TopicPartition[] $message_or_offsets
30
+	 *
31
+	 * @throws Exception
32
+	 * @return void
33
+	 */
34
+	public function commitAsync($message_or_offsets = null) {}
35
+
36
+	/**
37
+	 * @param int $timeout_ms
38
+	 *
39
+	 * @throws Exception
40
+	 * @throws \InvalidArgumentException
41
+	 * @return Message
42
+	 */
43
+	public function consume($timeout_ms) {}
44
+
45
+	/**
46
+	 * @throws Exception
47
+	 * @return TopicPartition[]
48
+	 */
49
+	public function getAssignment() {}
50
+
51
+	/**
52
+	 * @param bool               $all_topics
53
+	 * @param KafkaConsumerTopic $only_topic
54
+	 * @param int                $timeout_ms
55
+	 *
56
+	 * @throws Exception
57
+	 * @return Metadata
58
+	 */
59
+	public function getMetadata($all_topics, $only_topic = null, $timeout_ms) {}
60
+
61
+	/**
62
+	 * @return array
63
+	 */
64
+	public function getSubscription() {}
65
+
66
+	/**
67
+	 * @param array $topics
68
+	 *
69
+	 * @throws Exception
70
+	 * @return void
71
+	 */
72
+	public function subscribe($topics) {}
73
+
74
+	/**
75
+	 * @throws Exception
76
+	 * @return void
77
+	 */
78
+	public function unsubscribe() {}
79
+
80
+	/**
81
+	 * @param array $topic_partitions
82
+	 * @param int   $timeout_ms
83
+	 *
84
+	 * @return array
85
+	 */
86
+	public function getCommittedOffsets($topic_partitions, $timeout_ms) {}
87
+
88
+	/**
89
+	 * @param TopicPartition[] $topic_partitions
90
+	 * @param int $timeout_ms
91
+	 *
92
+	 * @return TopicPartition[]
93
+	 */
94
+	public function offsetsForTimes($topic_partitions, $timeout_ms) {}
95
+
96
+	/**
97
+	 * @param string $topic
98
+	 * @param int $partition
99
+	 * @param int &$low
100
+	 * @param int &$high
101
+	 * @param int $timeout_ms
102
+	 *
103
+	 * @return void
104
+	 */
105
+	public function queryWatermarkOffsets($topic, $partition = 0, &$low = 0, &$high = 0, $timeout_ms = 0) {}
106
+
107
+	/**
108
+	 * @param TopicPartition[] $topic_partitions
109
+	 */
110
+	public function getOffsetPositions($topic_partitions) {}
111
+
112
+	/**
113
+	 * @param string    $topic_name
114
+	 * @param null|TopicConf $topic_conf
115
+	 *
116
+	 * @return Topic
117
+	 */
118
+	public function newTopic($topic_name, $topic_conf = null) {}
119
+
120
+	/**
121
+	 * @return void
122
+	 */
123
+	public function close() {}
124 124
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -2,8 +2,7 @@
 block discarded – undo
2 2
 
3 3
 namespace RdKafka;
4 4
 
5
-class KafkaConsumer
6
-{
5
+class KafkaConsumer {
7 6
     /**
8 7
      * @param Conf $conf
9 8
      */
Please login to merge, or discard this patch.
vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/ProducerTopic.php 2 patches
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -4,29 +4,29 @@
 block discarded – undo
4 4
 
5 5
 class ProducerTopic extends Topic
6 6
 {
7
-    private function __construct() {}
7
+	private function __construct() {}
8 8
 
9
-    /**
10
-     * @param int         $partition
11
-     * @param int         $msgflags
12
-     * @param string|null $payload
13
-     * @param string|null $key
14
-     * @param string|null $msg_opaque
15
-     *
16
-     * @return void
17
-     */
18
-    public function produce($partition, $msgflags, $payload = null, $key = null, $msg_opaque = null) {}
9
+	/**
10
+	 * @param int         $partition
11
+	 * @param int         $msgflags
12
+	 * @param string|null $payload
13
+	 * @param string|null $key
14
+	 * @param string|null $msg_opaque
15
+	 *
16
+	 * @return void
17
+	 */
18
+	public function produce($partition, $msgflags, $payload = null, $key = null, $msg_opaque = null) {}
19 19
 
20
-    /**
21
-     * @param int         $partition
22
-     * @param int         $msgflags
23
-     * @param string|null $payload
24
-     * @param string|null $key
25
-     * @param array|null  $headers
26
-     * @param int         $timestamp_ms
27
-     * @param string|null $msg_opaque
28
-     *
29
-     * @return void
30
-     */
31
-    public function producev($partition, $msgflags, $payload = null, $key = null, $headers = null, $timestamp_ms = 0, $msg_opaque = null) {}
20
+	/**
21
+	 * @param int         $partition
22
+	 * @param int         $msgflags
23
+	 * @param string|null $payload
24
+	 * @param string|null $key
25
+	 * @param array|null  $headers
26
+	 * @param int         $timestamp_ms
27
+	 * @param string|null $msg_opaque
28
+	 *
29
+	 * @return void
30
+	 */
31
+	public function producev($partition, $msgflags, $payload = null, $key = null, $headers = null, $timestamp_ms = 0, $msg_opaque = null) {}
32 32
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -2,8 +2,7 @@
 block discarded – undo
2 2
 
3 3
 namespace RdKafka;
4 4
 
5
-class ProducerTopic extends Topic
6
-{
5
+class ProducerTopic extends Topic {
7 6
     private function __construct() {}
8 7
 
9 8
     /**
Please login to merge, or discard this patch.
vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/ConsumerTopic.php 2 patches
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -4,49 +4,49 @@
 block discarded – undo
4 4
 
5 5
 class ConsumerTopic extends Topic
6 6
 {
7
-    private function __construct() {}
8
-
9
-    /**
10
-     * @param int $partition
11
-     * @param int $timeout_ms
12
-     *
13
-     * @return Message
14
-     */
15
-    public function consume($partition, $timeout_ms) {}
16
-
17
-    /**
18
-     * @param int   $partition
19
-     * @param int   $offset
20
-     * @param Queue $queue
21
-     *
22
-     * @return void
23
-     */
24
-    public function consumeQueueStart($partition, $offset, $queue) {}
25
-
26
-    /**
27
-     * @param int $partition
28
-     * @param int $offset
29
-     *
30
-     * @return void
31
-     */
32
-    public function consumeStart($partition, $offset) {}
33
-
34
-    /**
35
-     * @param int $partition
36
-     *
37
-     * @return void
38
-     */
39
-    public function consumeStop($partition) {}
40
-
41
-    /**
42
-     * @param int $partition
43
-     * @param int $offset
44
-     *
45
-     * @return void
46
-     */
47
-    public function offsetStore($partition, $offset) {}
48
-
49
-    public function consumeCallback($partition, $timeout_ms, $callback) {}
50
-
51
-    public function consumeBatch($partition, $timeout_ms, $batch_size) {}
7
+	private function __construct() {}
8
+
9
+	/**
10
+	 * @param int $partition
11
+	 * @param int $timeout_ms
12
+	 *
13
+	 * @return Message
14
+	 */
15
+	public function consume($partition, $timeout_ms) {}
16
+
17
+	/**
18
+	 * @param int   $partition
19
+	 * @param int   $offset
20
+	 * @param Queue $queue
21
+	 *
22
+	 * @return void
23
+	 */
24
+	public function consumeQueueStart($partition, $offset, $queue) {}
25
+
26
+	/**
27
+	 * @param int $partition
28
+	 * @param int $offset
29
+	 *
30
+	 * @return void
31
+	 */
32
+	public function consumeStart($partition, $offset) {}
33
+
34
+	/**
35
+	 * @param int $partition
36
+	 *
37
+	 * @return void
38
+	 */
39
+	public function consumeStop($partition) {}
40
+
41
+	/**
42
+	 * @param int $partition
43
+	 * @param int $offset
44
+	 *
45
+	 * @return void
46
+	 */
47
+	public function offsetStore($partition, $offset) {}
48
+
49
+	public function consumeCallback($partition, $timeout_ms, $callback) {}
50
+
51
+	public function consumeBatch($partition, $timeout_ms, $batch_size) {}
52 52
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -2,8 +2,7 @@
 block discarded – undo
2 2
 
3 3
 namespace RdKafka;
4 4
 
5
-class ConsumerTopic extends Topic
6
-{
5
+class ConsumerTopic extends Topic {
7 6
     private function __construct() {}
8 7
 
9 8
     /**
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka.php 2 patches
Indentation   +70 added lines, -70 removed lines patch added patch discarded remove patch
@@ -8,86 +8,86 @@
 block discarded – undo
8 8
 
9 9
 abstract class RdKafka
10 10
 {
11
-    /**
12
-     * @param string $broker_list
13
-     *
14
-     * @return int
15
-     */
16
-    public function addBrokers($broker_list) {}
11
+	/**
12
+	 * @param string $broker_list
13
+	 *
14
+	 * @return int
15
+	 */
16
+	public function addBrokers($broker_list) {}
17 17
 
18
-    /**
19
-     * @param bool  $all_topics
20
-     * @param Topic $only_topic
21
-     * @param int   $timeout_ms
22
-     *
23
-     * @throws Exception
24
-     * @return Metadata
25
-     */
26
-    public function getMetadata($all_topics, $only_topic = null, $timeout_ms = 0) {}
18
+	/**
19
+	 * @param bool  $all_topics
20
+	 * @param Topic $only_topic
21
+	 * @param int   $timeout_ms
22
+	 *
23
+	 * @throws Exception
24
+	 * @return Metadata
25
+	 */
26
+	public function getMetadata($all_topics, $only_topic = null, $timeout_ms = 0) {}
27 27
 
28
-    /**
29
-     * @return int
30
-     */
31
-    public function getOutQLen() {}
28
+	/**
29
+	 * @return int
30
+	 */
31
+	public function getOutQLen() {}
32 32
 
33
-    /**
34
-     * @param string    $topic_name
35
-     * @param null|TopicConf $topic_conf
36
-     *
37
-     * @return Topic
38
-     */
39
-    public function newTopic($topic_name, $topic_conf = null) {}
33
+	/**
34
+	 * @param string    $topic_name
35
+	 * @param null|TopicConf $topic_conf
36
+	 *
37
+	 * @return Topic
38
+	 */
39
+	public function newTopic($topic_name, $topic_conf = null) {}
40 40
 
41
-    /**
42
-     * @param int $timeout_ms
43
-     *
44
-     * @return void
45
-     */
46
-    public function poll($timeout_ms) {}
41
+	/**
42
+	 * @param int $timeout_ms
43
+	 *
44
+	 * @return void
45
+	 */
46
+	public function poll($timeout_ms) {}
47 47
 
48
-    /**
49
-     * @param int $level
50
-     *
51
-     * @return void
52
-     */
53
-    public function setLogLevel($level) {}
48
+	/**
49
+	 * @param int $level
50
+	 *
51
+	 * @return void
52
+	 */
53
+	public function setLogLevel($level) {}
54 54
 
55
-    /**
56
-     * @param TopicPartition[] $topic_partitions
57
-     * @param int $timeout_ms
58
-     *
59
-     * @return TopicPartition[]
60
-     */
61
-    public function offsetsForTimes($topic_partitions, $timeout_ms) {}
55
+	/**
56
+	 * @param TopicPartition[] $topic_partitions
57
+	 * @param int $timeout_ms
58
+	 *
59
+	 * @return TopicPartition[]
60
+	 */
61
+	public function offsetsForTimes($topic_partitions, $timeout_ms) {}
62 62
 
63
-    /**
64
-     * @param string $topic
65
-     * @param int $partition
66
-     * @param int $low
67
-     * @param int $high
68
-     * @param int $timeout_ms
69
-     *
70
-     * @return void
71
-     */
72
-    public function queryWatermarkOffsets($topic, $partition = 0, &$low = 0, &$high = 0, $timeout_ms = 0) {}
63
+	/**
64
+	 * @param string $topic
65
+	 * @param int $partition
66
+	 * @param int $low
67
+	 * @param int $high
68
+	 * @param int $timeout_ms
69
+	 *
70
+	 * @return void
71
+	 */
72
+	public function queryWatermarkOffsets($topic, $partition = 0, &$low = 0, &$high = 0, $timeout_ms = 0) {}
73 73
 
74
-    /**
75
-     * @param int $purge_flags
76
-     *
77
-     * @return int
78
-     */
79
-    public function purge($purge_flags) {}
74
+	/**
75
+	 * @param int $purge_flags
76
+	 *
77
+	 * @return int
78
+	 */
79
+	public function purge($purge_flags) {}
80 80
 
81
-    /**
82
-     * @param int $timeout_ms
83
-     *
84
-     * @return int
85
-     */
86
-    public function flush($timeout_ms) {}
81
+	/**
82
+	 * @param int $timeout_ms
83
+	 *
84
+	 * @return int
85
+	 */
86
+	public function flush($timeout_ms) {}
87 87
 
88
-    public function metadata($all_topics, $only_topic = false, $timeout_ms = 0) {}
88
+	public function metadata($all_topics, $only_topic = false, $timeout_ms = 0) {}
89 89
 
90
-    public function setLogger($logger) {}
90
+	public function setLogger($logger) {}
91 91
 
92
-    public function outqLen() {}
92
+	public function outqLen() {}
93 93
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -6,8 +6,7 @@
 block discarded – undo
6 6
 use RdKafka\TopicConf;
7 7
 use RdKafka\TopicPartition;
8 8
 
9
-abstract class RdKafka
10
-{
9
+abstract class RdKafka {
11 10
     /**
12 11
      * @param string $broker_list
13 12
      *
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/ast/ast.php 2 patches
Indentation   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -4,44 +4,44 @@
 block discarded – undo
4 4
 /** Metadata entry for a single AST kind, as returned by ast\get_metadata(). */
5 5
 class Metadata
6 6
 {
7
-    /** @var string[] List of supported flags. The flags are given as names of constants, such as "ast\flags\TYPE_STRING". */
8
-    public $flags;
9
-    /** @var bool Whether the flags are exclusive or combinable. Exclusive flags should be checked using ===, while combinable flags should be checked using &. */
10
-    public $flagsCombinable;
11
-    /** @var int AST node kind (one of the `ast\AST_*` constants). */
12
-    public $kind;
13
-    /** @var string Name of the node kind (e.g. "AST_NAME"). */
14
-    public $name;
7
+	/** @var string[] List of supported flags. The flags are given as names of constants, such as "ast\flags\TYPE_STRING". */
8
+	public $flags;
9
+	/** @var bool Whether the flags are exclusive or combinable. Exclusive flags should be checked using ===, while combinable flags should be checked using &. */
10
+	public $flagsCombinable;
11
+	/** @var int AST node kind (one of the `ast\AST_*` constants). */
12
+	public $kind;
13
+	/** @var string Name of the node kind (e.g. "AST_NAME"). */
14
+	public $name;
15 15
 }
16 16
 
17 17
 /** This class describes a single node in a PHP AST. */
18 18
 class Node
19 19
 {
20
-    /** @var array Child nodes (may be empty) */
21
-    public $children;
20
+	/** @var array Child nodes (may be empty) */
21
+	public $children;
22 22
 
23
-    /** @var int Line the node ends on. */
24
-    public $endLineno;
23
+	/** @var int Line the node ends on. */
24
+	public $endLineno;
25 25
 
26
-    /** @var int Certain node kinds have flags that can be set. These will be a bitfield of `ast\flags\*` constants. */
27
-    public $flags;
26
+	/** @var int Certain node kinds have flags that can be set. These will be a bitfield of `ast\flags\*` constants. */
27
+	public $flags;
28 28
 
29
-    /** @var int AST Node Kind. Values are one of `ast\AST_*` constants. */
30
-    public $kind;
29
+	/** @var int AST Node Kind. Values are one of `ast\AST_*` constants. */
30
+	public $kind;
31 31
 
32
-    /** @var int Line the node starts on. */
33
-    public $lineno;
32
+	/** @var int Line the node starts on. */
33
+	public $lineno;
34 34
 
35
-    /**
36
-     * A constructor which accepts any types for the properties.
37
-     * For backwards compatibility reasons, all values are optional and can be any type, and properties default to null.
38
-     *
39
-     * @param int|null $kind
40
-     * @param int|null $flags
41
-     * @param array|null $children
42
-     * @param int|null $lineno
43
-     */
44
-    public function __construct(?int $kind = null, ?int $flags = null, ?array $children = null, ?int $lineno = null) {}
35
+	/**
36
+	 * A constructor which accepts any types for the properties.
37
+	 * For backwards compatibility reasons, all values are optional and can be any type, and properties default to null.
38
+	 *
39
+	 * @param int|null $kind
40
+	 * @param int|null $flags
41
+	 * @param array|null $children
42
+	 * @param int|null $lineno
43
+	 */
44
+	public function __construct(?int $kind = null, ?int $flags = null, ?array $children = null, ?int $lineno = null) {}
45 45
 }
46 46
 
47 47
 /**
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -2,8 +2,7 @@  discard block
 block discarded – undo
2 2
 
3 3
 namespace ast {
4 4
 /** Metadata entry for a single AST kind, as returned by ast\get_metadata(). */
5
-class Metadata
6
-{
5
+class Metadata {
7 6
     /** @var string[] List of supported flags. The flags are given as names of constants, such as "ast\flags\TYPE_STRING". */
8 7
     public $flags;
9 8
     /** @var bool Whether the flags are exclusive or combinable. Exclusive flags should be checked using ===, while combinable flags should be checked using &. */
@@ -15,8 +14,7 @@  discard block
 block discarded – undo
15 14
 }
16 15
 
17 16
 /** This class describes a single node in a PHP AST. */
18
-class Node
19
-{
17
+class Node {
20 18
     /** @var array Child nodes (may be empty) */
21 19
     public $children;
22 20
 
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/mongodb/mongodb.php 2 patches
Indentation   +2831 added lines, -2831 removed lines patch added patch discarded remove patch
@@ -15,2851 +15,2851 @@
 block discarded – undo
15 15
 namespace MongoDB {}
16 16
 
17 17
 namespace MongoDB\Driver {
18
-    use MongoDB\BSON\Serializable;
19
-    use MongoDB\Driver\Exception\AuthenticationException;
20
-    use MongoDB\Driver\Exception\BulkWriteException;
21
-    use MongoDB\Driver\Exception\CommandException;
22
-    use MongoDB\Driver\Exception\ConnectionException;
23
-    use MongoDB\Driver\Exception\EncryptionException;
24
-    use MongoDB\Driver\Exception\Exception;
25
-    use MongoDB\Driver\Exception\InvalidArgumentException;
26
-    use MongoDB\Driver\Exception\RuntimeException;
27
-    use MongoDB\Driver\Exception\UnexpectedValueException;
28
-    use MongoDB\Driver\Exception\WriteConcernException;
29
-    use MongoDB\Driver\Exception\WriteException;
30
-    use MongoDB\Driver\Monitoring\Subscriber;
31
-    use Traversable;
32
-
33
-        /**
34
-         * The MongoDB\Driver\Manager is the main entry point to the extension. It is responsible for maintaining connections to MongoDB (be it standalone server, replica set, or sharded cluster).
35
-         * No connection to MongoDB is made upon instantiating the Manager. This means the MongoDB\Driver\Manager can always be constructed, even though one or more MongoDB servers are down.
36
-         * Any write or query can throw connection exceptions as connections are created lazily. A MongoDB server may also become unavailable during the life time of the script. It is therefore important that all actions on the Manager to be wrapped in try/catch statements.
37
-         * @link https://php.net/manual/en/class.mongodb-driver-manager.php
38
-         */
39
-        final class Manager
40
-        {
41
-            /**
42
-             * Manager constructor.
43
-             * @link https://php.net/manual/en/mongodb-driver-manager.construct.php
44
-             * @param string $uri A mongodb:// connection URI
45
-             * @param array $options Connection string options
46
-             * @param array $driverOptions Any driver-specific options not included in MongoDB connection spec.
47
-             * @throws InvalidArgumentException on argument parsing errors
48
-             * @throws RuntimeException if the uri format is invalid
49
-             */
50
-            final public function __construct($uri = '', array $options = [], array $driverOptions = []) {}
51
-
52
-            final public function __wakeup() {}
53
-
54
-            /**
55
-             * Return a ClientEncryption instance.
56
-             * @link https://php.net/manual/en/mongodb-driver-manager.createclientencryption.php
57
-             * @param array $options
58
-             * @return \MongoDB\Driver\ClientEncryption
59
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors.
60
-             * @throws \MongoDB\Driver\Exception\RuntimeException If the extension was compiled without libmongocrypt support.
61
-             */
62
-            final public function createClientEncryption(array $options) {}
63
-
64
-            /**
65
-             * Execute one or more write operations
66
-             * @link https://php.net/manual/en/mongodb-driver-manager.executebulkwrite.php
67
-             * @param string $namespace A fully qualified namespace (databaseName.collectionName)
68
-             * @param BulkWrite $zbulk The MongoDB\Driver\BulkWrite to execute.
69
-             * @param array|WriteConcern $options WriteConcern type for backwards compatibility
70
-             * @return WriteResult
71
-             * @throws InvalidArgumentException on argument parsing errors.
72
-             * @throws ConnectionException if connection to the server fails for other then authentication reasons
73
-             * @throws AuthenticationException if authentication is needed and fails
74
-             * @throws BulkWriteException on any write failure
75
-             * @throws RuntimeException on other errors (invalid command, command arguments, ...)
76
-             * @since 1.4.0 added $options argument
77
-             */
78
-            final public function executeBulkWrite($namespace, BulkWrite $zbulk, $options = []) {}
79
-
80
-            /**
81
-             * @link https://php.net/manual/en/mongodb-driver-manager.executecommand.php
82
-             * @param string $db The name of the database on which to execute the command.
83
-             * @param Command $command The command document.
84
-             * @param array|ReadPreference $options ReadPreference type for backwards compatibility
85
-             * @return Cursor
86
-             * @throws Exception
87
-             * @throws AuthenticationException if authentication is needed and fails
88
-             * @throws ConnectionException if connection to the server fails for other then authentication reasons
89
-             * @throws RuntimeException on other errors (invalid command, command arguments, ...)
90
-             * @throws WriteException on Write Error
91
-             * @throws WriteConcernException on Write Concern failure
92
-             * @since 1.4.0 added $options argument
93
-             */
94
-            final public function executeCommand($db, Command $command, $options = []) {}
95
-
96
-            /**
97
-             * Execute a MongoDB query
98
-             * @link https://php.net/manual/en/mongodb-driver-manager.executequery.php
99
-             * @param string $namespace A fully qualified namespace (databaseName.collectionName)
100
-             * @param Query $zquery A MongoDB\Driver\Query to execute.
101
-             * @param array|ReadPreference $options ReadPreference type for backwards compatibility
102
-             * @return Cursor
103
-             * @throws Exception
104
-             * @throws AuthenticationException if authentication is needed and fails
105
-             * @throws ConnectionException if connection to the server fails for other then authentication reasons
106
-             * @throws RuntimeException on other errors (invalid command, command arguments, ...)
107
-             * @since 1.4.0 added $options argument
108
-             */
109
-            final public function executeQuery($namespace, Query $zquery, $options = []) {}
110
-
111
-            /**
112
-             * @link https://php.net/manual/en/mongodb-driver-manager.executereadcommand.php
113
-             * @param string $db The name of the database on which to execute the command that reads.
114
-             * @param Command $command The command document.
115
-             * @param array $options
116
-             * @return Cursor
117
-             * @throws Exception
118
-             * @throws AuthenticationException if authentication is needed and fails
119
-             * @throws ConnectionException if connection to the server fails for other then authentication reasons
120
-             * @throws RuntimeException on other errors (invalid command, command arguments, ...)
121
-             * @throws WriteException on Write Error
122
-             * @throws WriteConcernException on Write Concern failure
123
-             * @since 1.4.0
124
-             */
125
-            final public function executeReadCommand($db, Command $command, array $options = []) {}
126
-
127
-            /**
128
-             * @link https://php.net/manual/en/mongodb-driver-manager.executereadwritecommand.php
129
-             * @param string $db The name of the database on which to execute the command that reads.
130
-             * @param Command $command The command document.
131
-             * @param array $options
132
-             * @return Cursor
133
-             * @throws Exception
134
-             * @throws AuthenticationException if authentication is needed and fails
135
-             * @throws ConnectionException if connection to the server fails for other then authentication reasons
136
-             * @throws RuntimeException on other errors (invalid command, command arguments, ...)
137
-             * @throws WriteException on Write Error
138
-             * @throws WriteConcernException on Write Concern failure
139
-             * @since 1.4.0
140
-             */
141
-            final public function executeReadWriteCommand($db, Command $command, $options = []) {}
142
-
143
-            /**
144
-             * @link https://php.net/manual/en/mongodb-driver-manager.executewritecommand.php
145
-             * @param string $db The name of the database on which to execute the command that writes.
146
-             * @param Command $command The command document.
147
-             * @param array $options
148
-             * @return Cursor
149
-             * @throws Exception
150
-             * @throws AuthenticationException if authentication is needed and fails
151
-             * @throws ConnectionException if connection to the server fails for other then authentication reasons
152
-             * @throws RuntimeException on other errors (invalid command, command arguments, ...)
153
-             * @throws WriteException on Write Error
154
-             * @throws WriteConcernException on Write Concern failure
155
-             * @since 1.4.0
156
-             */
157
-            final public function executeWriteCommand($db, Command $command, array $options = []) {}
158
-
159
-            /**
160
-             * Return the ReadConcern for the Manager
161
-             * @link https://php.net/manual/en/mongodb-driver-manager.getreadconcern.php
162
-             * @throws InvalidArgumentException on argument parsing errors.
163
-             * @return ReadConcern
164
-             */
165
-            final public function getReadConcern() {}
166
-
167
-            /**
168
-             * Return the ReadPreference for the Manager
169
-             * @link https://php.net/manual/en/mongodb-driver-manager.getreadpreference.php
170
-             * @throws InvalidArgumentException
171
-             * @return ReadPreference
172
-             */
173
-            final public function getReadPreference() {}
174
-
175
-            /**
176
-             * Return the servers to which this manager is connected
177
-             * @link https://php.net/manual/en/mongodb-driver-manager.getservers.php
178
-             * @throws InvalidArgumentException on argument parsing errors
179
-             * @return Server[]
180
-             */
181
-            final public function getServers() {}
182
-
183
-            /**
184
-             * Return the WriteConcern for the Manager
185
-             * @link https://php.net/manual/en/mongodb-driver-manager.getwriteconcern.php
186
-             * @throws InvalidArgumentException on argument parsing errors.
187
-             * @return WriteConcern
188
-             */
189
-            final public function getWriteConcern() {}
190
-
191
-            /**
192
-             * Preselect a MongoDB node based on provided readPreference. This can be useful to guarantee a command runs on a specific server when operating in a mixed version cluster.
193
-             * https://secure.php.net/manual/en/mongodb-driver-manager.selectserver.php
194
-             * @param ReadPreference $readPreference Optionally, a MongoDB\Driver\ReadPreference to route the command to. If none given, defaults to the Read Preferences set by the MongoDB Connection URI.
195
-             * @throws InvalidArgumentException on argument parsing errors.
196
-             * @throws ConnectionException if connection to the server fails (for reasons other than authentication).
197
-             * @throws AuthenticationException if authentication is needed and fails.
198
-             * @throws RuntimeException if a server matching the read preference could not be found.
199
-             * @return Server
200
-             */
201
-            final public function selectServer(ReadPreference $readPreference = null) {}
202
-
203
-            /**
204
-             * Start a new client session for use with this client
205
-             * @param array $options
206
-             * @return \MongoDB\Driver\Session
207
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
208
-             * @throws \MongoDB\Driver\Exception\RuntimeException If the session could not be created (e.g. libmongoc does not support crypto).
209
-             * @link https://secure.php.net/manual/en/mongodb-driver-manager.startsession.php
210
-             * @since 1.4.0
211
-             */
212
-            final public function startSession(?array $options = []) {}
213
-
214
-            final public function addSubscriber(Subscriber $subscriber) {}
215
-
216
-            final public function removeSubscriber(Subscriber $subscriber) {}
217
-        }
218
-
219
-        /**
220
-         * @link https://php.net/manual/en/class.mongodb-driver-server.php
221
-         */
222
-        final class Server
223
-        {
224
-            public const TYPE_UNKNOWN = 0;
225
-            public const TYPE_STANDALONE = 1;
226
-            public const TYPE_MONGOS = 2;
227
-            public const TYPE_POSSIBLE_PRIMARY = 3;
228
-            public const TYPE_RS_PRIMARY = 4;
229
-            public const TYPE_RS_SECONDARY = 5;
230
-            public const TYPE_RS_ARBITER = 6;
231
-            public const TYPE_RS_OTHER = 7;
232
-            public const TYPE_RS_GHOST = 8;
233
-
234
-            /**
235
-             * Server constructor.
236
-             * @link https://php.net/manual/en/mongodb-driver-server.construct.php
237
-             * @throws RuntimeException (can only be created internally)
238
-             */
239
-            final private function __construct() {}
240
-
241
-            final public function __wakeup() {}
242
-
243
-            /**
244
-             * Execute one or more write operations on this server
245
-             * @link https://php.net/manual/en/mongodb-driver-server.executebulkwrite.php
246
-             * @param string $namespace A fully qualified namespace (e.g. "databaseName.collectionName").
247
-             * @param BulkWrite $zbulk The MongoDB\Driver\BulkWrite to execute.
248
-             * @param array $options
249
-             * @throws BulkWriteException on any write failure (e.g. write error, failure to apply a write concern).
250
-             * @throws InvalidArgumentException on argument parsing errors.
251
-             * @throws ConnectionException if connection to the server fails (for reasons other than authentication).
252
-             * @throws AuthenticationException if authentication is needed and fails.
253
-             * @throws RuntimeException on other errors.
254
-             * @return WriteResult
255
-             * @since 1.0.0
256
-             */
257
-            final public function executeBulkWrite($namespace, BulkWrite $zbulk, $options = []) {}
258
-
259
-            /**
260
-             * Execute a database command on this server
261
-             * @link https://php.net/manual/en/mongodb-driver-server.executecommand.php
262
-             * @param string $db The name of the database on which to execute the command.
263
-             * @param Command $command The MongoDB\Driver\Command to execute.
264
-             * @param ReadPreference $options Optionally, a MongoDB\Driver\ReadPreference to select the server for this operation. If none is given, the read preference from the MongoDB Connection URI will be used.
265
-             * @throws InvalidArgumentException on argument parsing errors.
266
-             * @throws ConnectionException if connection to the server fails (for reasons other than authentication).
267
-             * @throws AuthenticationException if authentication is needed and fails.
268
-             * @throws RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).
269
-             * @return Cursor
270
-             * @since 1.0.0
271
-             */
272
-            final public function executeCommand($db, Command $command, $options = null) {}
273
-
274
-            /**
275
-             * Execute a database command that reads on this server
276
-             * @link https://secure.php.net/manual/en/mongodb-driver-server.executereadcommand.php
277
-             * @param string                  $db
278
-             * @param \MongoDB\Driver\Command $command
279
-             * @param array                   $options
280
-             * @return Cursor
281
-             * @throws InvalidArgumentException On argument parsing errors or  if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
282
-             * @throws ConnectionException If connection to the server fails (for reasons other than authentication).
283
-             * @throws AuthenticationException If authentication is needed and fails.
284
-             * @throws RuntimeException On other errors (e.g. invalid command).
285
-             * @since 1.4.0
286
-             */
287
-            final public function executeReadCommand($db, Command $command, array $options = []) {}
288
-
289
-            /**
290
-             * Execute a database command that reads and writes on this server
291
-             * @link https://secure.php.net/manual/en/mongodb-driver-server.executereadwritecommand.php
292
-             * @param string                  $db
293
-             * @param \MongoDB\Driver\Command $command
294
-             * @param array                   $options
295
-             * @return Cursor
296
-             * @throws InvalidArgumentException On argument parsing errors OR if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option OR if the "session" option is used in combination with an unacknowledged write concern
297
-             * @throws ConnectionException If connection to the server fails (for reasons other than authentication).
298
-             * @throws AuthenticationException If authentication is needed and fails.
299
-             * @throws RuntimeException On other errors (e.g. invalid command).
300
-             * @since 1.4.0
301
-             */
302
-            final public function executeReadWriteCommand($db, Command $command, array $options = []) {}
303
-
304
-            /**
305
-             * Execute a database command that writes on this server
306
-             * @link https://secure.php.net/manual/en/mongodb-driver-server.executewritecommand.php
307
-             * @param string                  $db
308
-             * @param \MongoDB\Driver\Command $command
309
-             * @param array                   $options
310
-             * @return Cursor
311
-             * @throws InvalidArgumentException On argument parsing errors or  if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
312
-             * @throws ConnectionException If connection to the server fails (for reasons other than authentication).
313
-             * @throws AuthenticationException If authentication is needed and fails.
314
-             * @throws RuntimeException On other errors (e.g. invalid command).
315
-             * @since 1.4.0
316
-             */
317
-            final public function executeWriteCommand($db, Command $command, array $options = []) {}
318
-
319
-            /**
320
-             * Execute a database query on this server
321
-             * @link https://php.net/manual/en/mongodb-driver-server.executequery.php
322
-             * @param string $namespace A fully qualified namespace (e.g. "databaseName.collectionName").
323
-             * @param Query $zquery The MongoDB\Driver\Query to execute.
324
-             * @param array|ReadPreference $options
325
-             * <table>
326
-             * <caption><strong>options</strong></caption>
327
-             *
328
-             * <thead>
329
-             * <tr>
330
-             * <th>Option</th>
331
-             * <th>Type</th>
332
-             * <th>Description</th>
333
-             * </tr>
334
-             *
335
-             * </thead>
336
-             *
337
-             * <tbody>
338
-             *
339
-             * <tr>
340
-             * <td>readPreference</td>
341
-             * <td><a href="https://php.net/manual/en/php.neclass.mongodb-driver-readpreference.php">MongoDB\Driver\ReadPreference</a></td>
342
-             * <td>
343
-             * <p>
344
-             * A read preference to use for selecting a server for the operation.
345
-             * </p>
346
-             * </td>
347
-             * </tr>
348
-             * <tr>
349
-             * <td>session</td>
350
-             * <td><a href="https://php.net/manual/en/class.mongodb-driver-session.php">MongoDB\Driver\Session</a></td>
351
-             * <td>
352
-             * <p>
353
-             * A session to associate with the operation.
354
-             * </p>
355
-             * </td>
356
-             * </tr>
357
-             * </tbody>
358
-             * </table>
359
-             * The third parameter is now an options array. For backwards compatibility, this parameter will still accept a MongoDB\Driver\ReadPreference object.
360
-             * @throws InvalidArgumentException on argument parsing errors.
361
-             * @throws ConnectionException if connection to the server fails (for reasons other than authentication).
362
-             * @throws AuthenticationException if authentication is needed and fails.
363
-             * @throws RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).
364
-             * @return Cursor
365
-             */
366
-            final public function executeQuery($namespace, Query $zquery, $options = []) {}
367
-
368
-            /**
369
-             * Returns the hostname of this server
370
-             * @link https://php.net/manual/en/mongodb-driver-server.gethost.php
371
-             * @throws InvalidArgumentException on argument parsing errors.
372
-             * @return string
373
-             */
374
-            final public function getHost() {}
375
-
376
-            /**
377
-             * Returns an array of information about this server
378
-             * @link https://php.net/manual/en/mongodb-driver-server.getinfo.php
379
-             * @throws InvalidArgumentException on argument parsing errors.
380
-             * @return array
381
-             */
382
-            final public function getInfo() {}
383
-
384
-            /**
385
-             * Returns the latency of this server
386
-             * @link https://php.net/manual/en/mongodb-driver-server.getlatency.php
387
-             * @throws InvalidArgumentException on argument parsing errors.
388
-             * @return int
389
-             */
390
-            final public function getLatency() {}
391
-
392
-            /**
393
-             * Returns the port on which this server is listening
394
-             * @link https://php.net/manual/en/mongodb-driver-server.getport.php
395
-             * @throws InvalidArgumentException on argument parsing errors.
396
-             * @return int
397
-             */
398
-            final public function getPort() {}
399
-
400
-            /**
401
-             * Returns an array of tags describing this server in a replica set
402
-             * @link https://php.net/manual/en/mongodb-driver-server.gettags.php
403
-             * @throws InvalidArgumentException on argument parsing errors.
404
-             * @return array An array of tags used to describe this server in a replica set. The array will contain zero or more string key and value pairs.
405
-             */
406
-            final public function getTags() {}
407
-
408
-            /**
409
-             * Returns an integer denoting the type of this server
410
-             * @link https://php.net/manual/en/mongodb-driver-server.gettype.php
411
-             * @throws InvalidArgumentException on argument parsing errors.
412
-             * @return int denoting the type of this server
413
-             */
414
-            final public function getType() {}
415
-
416
-            /**
417
-             * Checks if this server is an arbiter member of a replica set
418
-             * @link https://php.net/manual/en/mongodb-driver-server.isarbiter.php
419
-             * @throws InvalidArgumentException on argument parsing errors.
420
-             * @return bool
421
-             */
422
-            final public function isArbiter() {}
423
-
424
-            /**
425
-             * Checks if this server is a hidden member of a replica set
426
-             * @link https://php.net/manual/en/mongodb-driver-server.ishidden.php
427
-             * @throws InvalidArgumentException on argument parsing errors.
428
-             * @return bool
429
-             */
430
-            final public function isHidden() {}
431
-
432
-            /**
433
-             * Checks if this server is a passive member of a replica set
434
-             * @link https://php.net/manual/en/mongodb-driver-server.ispassive.php
435
-             * @throws InvalidArgumentException on argument parsing errors.
436
-             * @return bool
437
-             */
438
-            final public function isPassive() {}
439
-
440
-            /**
441
-             * Checks if this server is a primary member of a replica set
442
-             * @link https://php.net/manual/en/mongodb-driver-server.isprimary.php
443
-             * @throws InvalidArgumentException on argument parsing errors.
444
-             * @return bool
445
-             */
446
-            final public function isPrimary() {}
447
-
448
-            /**
449
-             * Checks if this server is a secondary member of a replica set
450
-             * @link https://php.net/manual/en/mongodb-driver-server.issecondary.php
451
-             * @throws InvalidArgumentException on argument parsing errors.
452
-             * @return bool
453
-             */
454
-            final public function isSecondary() {}
455
-        }
456
-
457
-        /**
458
-         * The MongoDB\Driver\Query class is a value object that represents a database query.
459
-         * @link https://php.net/manual/en/class.mongodb-driver-query.php
460
-         */
461
-        final class Query
462
-        {
463
-            /**
464
-             * Construct new Query
465
-             * @link https://php.net/manual/en/mongodb-driver-query.construct.php
466
-             * @param array|object $filter The search filter.
467
-             * @param array $options
468
-             * @throws InvalidArgumentException on argument parsing errors.
469
-             */
470
-            final public function __construct($filter, ?array $options = []) {}
471
-
472
-            final public function __wakeup() {}
473
-        }
474
-
475
-        /**
476
-         * The MongoDB\Driver\Command class is a value object that represents a database command.
477
-         * To provide "Command Helpers" the MongoDB\Driver\Command object should be composed.
478
-         * @link https://php.net/manual/en/class.mongodb-driver-command.php
479
-         * @since 1.0.0
480
-         */
481
-        final class Command
482
-        {
483
-            /**
484
-             * Construct new Command
485
-             * @param array|object $document The complete command to construct
486
-             * @param array $options Do not use this parameter to specify options described in the command's reference in the MongoDB manual.
487
-             * @throws InvalidArgumentException on argument parsing errors.
488
-             * @link https://secure.php.net/manual/en/mongodb-driver-command.construct.php
489
-             * @since 1.0.0
490
-             */
491
-            final public function __construct($document, ?array $options = []) {}
492
-
493
-            final public function __wakeup() {}
494
-        }
495
-
496
-        /**
497
-         * Class ReadPreference
498
-         * @link https://php.net/manual/en/class.mongodb-driver-readpreference.php
499
-         */
500
-        final class ReadPreference implements Serializable, \Serializable
501
-        {
502
-            public const RP_PRIMARY = 1;
503
-            public const RP_PRIMARY_PREFERRED = 5;
504
-            public const RP_SECONDARY = 2;
505
-            public const RP_SECONDARY_PREFERRED = 6;
506
-            public const RP_NEAREST = 10;
507
-
508
-            /**
509
-             * @since 1.7.0
510
-             */
511
-            public const PRIMARY = 'primary';
512
-            /**
513
-             * @since 1.7.0
514
-             */
515
-            public const PRIMARY_PREFERRED = 'primaryPreferred';
516
-            /**
517
-             * @since 1.7.0
518
-             */
519
-            public const SECONDARY = 'secondary';
520
-            /**
521
-             * @since 1.7.0
522
-             */
523
-            public const SECONDARY_PREFERRED = 'secondaryPreferred';
524
-            /**
525
-             * @since 1.7.0
526
-             */
527
-            public const NEAREST = 'nearest';
528
-
529
-            /**
530
-             * @since 1.2.0
531
-             */
532
-            public const NO_MAX_STALENESS = -1;
533
-            /**
534
-             * @since 1.2.0
535
-             */
536
-            public const SMALLEST_MAX_STALENESS_SECONDS = 90;
537
-
538
-            /**
539
-             * Construct immutable ReadPreference
540
-             * @link https://php.net/manual/en/mongodb-driver-readpreference.construct.php
541
-             * @param string|int $mode
542
-             * @param array|null $tagSets
543
-             * @param array $options
544
-             * @throws InvalidArgumentException if mode is invalid or if tagSets is provided for a primary read preference.
545
-             */
546
-            final public function __construct($mode, ?array $tagSets = null, ?array $options = []) {}
547
-
548
-            public static function __set_state(array $properties) {}
549
-
550
-            /**
551
-             * Returns the ReadPreference's "hedge" option
552
-             * @since 1.8.0
553
-             * @link https://www.php.net/manual/en/mongodb-driver-readpreference.gethedge.php
554
-             * @return object|null
555
-             */
556
-            final public function getHedge() {}
557
-
558
-            /**
559
-             * Returns the ReadPreference's "mode" option
560
-             * @link https://php.net/manual/en/mongodb-driver-readpreference.getmode.php
561
-             * @return int
562
-             */
563
-            final public function getMode() {}
564
-
565
-            /**
566
-             * Returns the ReadPreference's "mode" option as a string
567
-             * @since 1.7.0
568
-             * @link https://php.net/manual/en/mongodb-driver-readpreference.getmodestring.php
569
-             * @return string
570
-             * @throws InvalidArgumentException
571
-             */
572
-            final public function getModeString() {}
573
-
574
-            /**
575
-             * Returns the ReadPreference's "tagSets" option
576
-             * @link https://php.net/manual/en/mongodb-driver-readpreference.gettagsets.php
577
-             * @return array
578
-             */
579
-            final public function getTagSets() {}
580
-
581
-            /**
582
-             * Returns an object for BSON serialization
583
-             * @since 1.2.0
584
-             * @link https://www.php.net/manual/en/mongodb-driver-readpreference.bsonserialize.php
585
-             * @return object Returns an object for serializing the WriteConcern as BSON.
586
-             * @throws InvalidArgumentException
587
-             */
588
-            final public function bsonSerialize() {}
589
-
590
-            /**
591
-             * Serialize a ReadPreference
592
-             * @since 1.7.0
593
-             * @link https://php.net/manual/en/mongodb-driver-readpreference.serialize.php
594
-             * @return string
595
-             * @throws InvalidArgumentException
596
-             */
597
-            final public function serialize() {}
598
-
599
-            /**
600
-             * Unserialize a ReadPreference
601
-             * @since 1.7.0
602
-             * @link https://php.net/manual/en/mongodb-driver-readpreference.unserialize.php
603
-             * @param string $serialized
604
-             * @return void
605
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
606
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
607
-             */
608
-            final public function unserialize($serialized) {}
609
-
610
-            final public function getMaxStalenessSeconds() {}
611
-        }
612
-
613
-        /**
614
-         * MongoDB\Driver\ReadConcern controls the level of isolation for read operations for replica sets and replica set shards. This option requires the WiredTiger storage engine and MongoDB 3.2 or later.
615
-         * @link https://php.net/manual/en/class.mongodb-driver-readconcern.php
616
-         * @since 1.1.0
617
-         */
618
-        final class ReadConcern implements Serializable, \Serializable
619
-        {
620
-            /**
621
-             * @since 1.2.0
622
-             */
623
-            public const LINEARIZABLE = 'linearizable';
624
-            public const LOCAL = 'local';
625
-            public const MAJORITY = 'majority';
626
-            /**
627
-             * @since 1.4.0
628
-             */
629
-            public const AVAILABLE = 'available';
630
-
631
-            /**
632
-             * Construct immutable ReadConcern
633
-             * @link https://php.net/manual/en/mongodb-driver-readconcern.construct.php
634
-             * @param string $level
635
-             */
636
-            final public function __construct($level = null) {}
637
-
638
-            public static function __set_state(array $properties) {}
639
-
640
-            /**
641
-             * Returns the ReadConcern's "level" option
642
-             * @link https://php.net/manual/en/mongodb-driver-readconcern.getlevel.php
643
-             * @return string|null
644
-             * @since 1.0.0
645
-             */
646
-            final public function getLevel() {}
647
-
648
-            /**
649
-             * Returns an object for BSON serialization
650
-             * @link https://php.net/manual/en/mongodb-driver-readconcern.bsonserialize.php
651
-             * @return object
652
-             * @since 1.2.0
653
-             */
654
-            final public function bsonSerialize() {}
655
-
656
-            /**
657
-             * Checks if this is the default read concern
658
-             * @link https://secure.php.net/manual/en/mongodb-driver-readconcern.isdefault.php
659
-             * @return bool
660
-             * @since 1.3.0
661
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors.
662
-             */
663
-            final public function isDefault() {}
664
-
665
-            /**
666
-             * Serialize a ReadConcern
667
-             * @since 1.7.0
668
-             * @link https://php.net/manual/en/mongodb-driver-readconcern.serialize.php
669
-             * @return string
670
-             * @throws InvalidArgumentException
671
-             */
672
-            final public function serialize() {}
673
-
674
-            /**
675
-             * Unserialize a ReadConcern
676
-             * @since 1.7.0
677
-             * @link https://php.net/manual/en/mongodb-driver-readconcern.unserialize.php
678
-             * @param string $serialized
679
-             * @return void
680
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
681
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
682
-             */
683
-            final public function unserialize($serialized) {}
684
-        }
685
-
686
-        /**
687
-         * The MongoDB\Driver\Cursor class encapsulates the results of a MongoDB command or query and may be returned by MongoDB\Driver\Manager::executeCommand() or MongoDB\Driver\Manager::executeQuery(), respectively.
688
-         * @link https://php.net/manual/en/class.mongodb-driver-cursor.php
689
-         */
690
-        final class Cursor implements CursorInterface, \Iterator
691
-        {
692
-            /**
693
-             * Create a new Cursor
694
-             * MongoDB\Driver\Cursor objects are returned as the result of an executed command or query and cannot be constructed directly.
695
-             * @link https://php.net/manual/en/mongodb-driver-cursor.construct.php
696
-             */
697
-            final private function __construct() {}
698
-
699
-            final public function __wakeup() {}
700
-
701
-            /**
702
-             * Returns the current element.
703
-             * @link https://www.php.net/manual/en/mongodb-driver-cursor.current.php
704
-             * @return array|object
705
-             */
706
-            public function current() {}
707
-
708
-            /**
709
-             * Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID cursor uniquely identifies the cursor on the server.
710
-             * @link https://php.net/manual/en/mongodb-driver-cursor.getid.php
711
-             * @return CursorId for this Cursor
712
-             * @throws InvalidArgumentException on argument parsing errors.
713
-             */
714
-            final public function getId() {}
715
-
716
-            /**
717
-             * Returns the MongoDB\Driver\Server associated with this cursor. This is the server that executed the query or command.
718
-             * @link https://php.net/manual/en/mongodb-driver-cursor.getserver.php
719
-             * @return Server for this Cursor
720
-             * @throws InvalidArgumentException on argument parsing errors.
721
-             */
722
-            final public function getServer() {}
723
-
724
-            /**
725
-             * Checks if a cursor is still alive
726
-             * @link https://php.net/manual/en/mongodb-driver-cursor.isdead.php
727
-             * @return bool
728
-             * @throws InvalidArgumentException On argument parsing errors
729
-             */
730
-            final public function isDead() {}
731
-
732
-            /**
733
-             * Returns the current result's index within the cursor.
734
-             * @link https://www.php.net/manual/en/mongodb-driver-cursor.key.php
735
-             * @return int
736
-             */
737
-            public function key() {}
738
-
739
-            /**
740
-             * Advances the cursor to the next result.
741
-             * @link https://www.php.net/manual/en/mongodb-driver-cursor.next.php
742
-             * @return void
743
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
744
-             * @throws \MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
745
-             * @throws \MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
746
-             */
747
-            public function next() {}
748
-
749
-            /**
750
-             * Rewind the cursor to the first result.
751
-             * @link https://www.php.net/manual/en/mongodb-driver-cursor.rewind.php
752
-             * @return void
753
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
754
-             * @throws \MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
755
-             * @throws \MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
756
-             * @throws \MongoDB\Driver\Exception\LogicException if this method is called after the cursor has advanced beyond its first position.
757
-             */
758
-            public function rewind() {}
759
-
760
-            /**
761
-             * Sets a type map to use for BSON unserialization
762
-             *
763
-             * @link https://php.net/manual/en/mongodb-driver-cursor.settypemap.php
764
-             *
765
-             * @param array $typemap
766
-             * @return void
767
-             * @throws InvalidArgumentException On argument parsing errors or if a class in the type map cannot
768
-             * be instantiated or does not implement MongoDB\BSON\Unserializable
769
-             */
770
-            final public function setTypeMap(array $typemap) {}
771
-
772
-            /**
773
-             * Returns an array of all result documents for this cursor
774
-             * @link https://php.net/manual/en/mongodb-driver-cursor.toarray.php
775
-             * @return array
776
-             * @throws InvalidArgumentException On argument parsing errors
777
-             */
778
-            final public function toArray() {}
779
-
780
-            /**
781
-             * Checks if the current position in the cursor is valid.
782
-             * @link https://www.php.net/manual/en/mongodb-driver-cursor.valid.php
783
-             * @return bool
784
-             */
785
-            public function valid() {}
786
-        }
787
-
788
-        /**
789
-         * Class CursorId
790
-         * @link https://php.net/manual/en/class.mongodb-driver-cursorid.php
791
-         */
792
-        final class CursorId implements \Serializable
793
-        {
794
-            /**
795
-             * Create a new CursorId (not used)
796
-             * CursorId objects are returned from Cursor::getId() and cannot be constructed directly.
797
-             * @link https://php.net/manual/en/mongodb-driver-cursorid.construct.php
798
-             * @see Cursor::getId()
799
-             */
800
-            final private function __construct() {}
801
-
802
-            /**
803
-             * String representation of the cursor ID
804
-             * @link https://php.net/manual/en/mongodb-driver-cursorid.tostring.php
805
-             * @return string representation of the cursor ID.
806
-             * @throws InvalidArgumentException on argument parsing errors.
807
-             */
808
-            final public function __toString() {}
809
-
810
-            final public function __wakeup() {}
811
-
812
-            public static function __set_state(array $properties) {}
813
-
814
-            /**
815
-             * Serialize a CursorId
816
-             * @since 1.7.0
817
-             * @link https://php.net/manual/en/mongodb-driver-cursorid.serialize.php
818
-             * @return string
819
-             * @throws InvalidArgumentException
820
-             */
821
-            final public function serialize() {}
822
-
823
-            /**
824
-             * Unserialize a CursorId
825
-             * @since 1.7.0
826
-             * @link https://php.net/manual/en/mongodb-driver-cursorid.unserialize.php
827
-             * @param string $serialized
828
-             * @return void
829
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
830
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
831
-             */
832
-            final public function unserialize($serialized) {}
833
-        }
834
-
835
-        /**
836
-         * The BulkWrite collects one or more write operations that should be sent to the server.
837
-         * After adding any number of insert, update, and delete operations, the collection may be executed via Manager::executeBulkWrite().
838
-         * Write operations may either be ordered (default) or unordered.
839
-         * Ordered write operations are sent to the server, in the order provided, for serial execution.
840
-         * If a write fails, any remaining operations will be aborted.
841
-         * Unordered operations are sent to the server in an arbitrary order where they may be executed in parallel.
842
-         * Any errors that occur are reported after all operations have been attempted.
843
-         */
844
-        final class BulkWrite implements \Countable
845
-        {
846
-            /**
847
-             * Create a new BulkWrite
848
-             * Constructs a new ordered (default) or unordered BulkWrite.
849
-             * @link https://php.net/manual/en/mongodb-driver-bulkwrite.construct.php
850
-             * @param array $options
851
-             * @throws InvalidArgumentException on argument parsing errors.
852
-             */
853
-            final public function __construct(?array $options = []) {}
854
-
855
-            final public function __wakeup() {}
856
-
857
-            /**
858
-             * Count expected roundtrips for executing the bulk
859
-             * Returns the expected number of client-to-server roundtrips required to execute all write operations in the BulkWrite.
860
-             * @link https://php.net/manual/en/mongodb-driver-bulkwrite.count.php
861
-             * @return int number of expected roundtrips to execute the BulkWrite.
862
-             * @throws InvalidArgumentException on argument parsing errors.
863
-             */
864
-            final public function count() {}
865
-
866
-            /**
867
-             * Add a delete operation to the bulk
868
-             * @link https://php.net/manual/en/mongodb-driver-bulkwrite.delete.php
869
-             * @param array|object $query The search filter
870
-             * @param array $deleteOptions
871
-             * @throws InvalidArgumentException on argument parsing errors.
872
-             */
873
-            final public function delete($query, ?array $deleteOptions = []) {}
874
-
875
-            /**
876
-             * Add an insert operation to the bulk
877
-             * If the document did not have an _id, a MongoDB\BSON\ObjectId will be generated and returned; otherwise, no value is returned.
878
-             * @link https://php.net/manual/en/mongodb-driver-bulkwrite.insert.php
879
-             * @param array|object $document
880
-             * @return mixed
881
-             * @throws InvalidArgumentException on argument parsing errors.
882
-             */
883
-            final public function insert($document) {}
884
-
885
-            /**
886
-             * Add an update operation to the bulk
887
-             * @link https://php.net/manual/en/mongodb-driver-bulkwrite.update.php
888
-             * @param array|object $query The search filter
889
-             * @param array|object $newObj A document containing either update operators (e.g. $set) or a replacement document (i.e. only field:value expressions)
890
-             * @param array $updateOptions
891
-             * @throws InvalidArgumentException on argument parsing errors.
892
-             */
893
-            final public function update($query, $newObj, ?array $updateOptions = []) {}
894
-        }
895
-
896
-        /**
897
-         * WriteConcern controls the acknowledgment of a write operation, specifies the level of write guarantee for Replica Sets.
898
-         */
899
-        final class WriteConcern implements Serializable, \Serializable
900
-        {
901
-            /**
902
-             * Majority of all the members in the set; arbiters, non-voting members, passive members, hidden members and delayed members are all included in the definition of majority write concern.
903
-             */
904
-            public const MAJORITY = 'majority';
905
-
906
-            /**
907
-             * Construct immutable WriteConcern
908
-             * @link https://php.net/manual/en/mongodb-driver-writeconcern.construct.php
909
-             * @param string|int $w
910
-             * @param int $wtimeout How long to wait (in milliseconds) for secondaries before failing.
911
-             * @param bool $journal Wait until mongod has applied the write to the journal.
912
-             * @throws InvalidArgumentException on argument parsing errors.
913
-             */
914
-            final public function __construct($w, $wtimeout = 0, $journal = false) {}
915
-
916
-            public static function __set_state(array $properties) {}
917
-
918
-            /**
919
-             * Returns the WriteConcern's "journal" option
920
-             * @link https://php.net/manual/en/mongodb-driver-writeconcern.getjournal.php
921
-             * @return bool|null
922
-             */
923
-            final public function getJournal() {}
924
-
925
-            /**
926
-             * Returns the WriteConcern's "w" option
927
-             * @link https://php.net/manual/en/mongodb-driver-writeconcern.getw.php
928
-             * @return string|int|null
929
-             */
930
-            final public function getW() {}
931
-
932
-            /**
933
-             * Returns the WriteConcern's "wtimeout" option
934
-             * @link https://php.net/manual/en/mongodb-driver-writeconcern.getwtimeout.php
935
-             * @return int
936
-             */
937
-            final public function getWtimeout() {}
938
-
939
-            /**
940
-             * Returns an object for BSON serialization
941
-             * @since 1.2.0
942
-             * @link https://www.php.net/manual/en/mongodb-driver-writeconcern.bsonserialize.php
943
-             * @return object Returns an object for serializing the WriteConcern as BSON.
944
-             * @throws InvalidArgumentException
945
-             */
946
-            final public function bsonSerialize() {}
947
-
948
-            /**
949
-             * Serialize a WriteConcern
950
-             * @since 1.7.0
951
-             * @link https://php.net/manual/en/mongodb-driver-writeconcern.serialize.php
952
-             * @return string
953
-             * @throws InvalidArgumentException
954
-             */
955
-            final public function serialize() {}
956
-
957
-            /**
958
-             * Unserialize a WriteConcern
959
-             * @since 1.7.0
960
-             * @link https://php.net/manual/en/mongodb-driver-writeconcern.unserialize.php
961
-             * @param string $serialized
962
-             * @return void
963
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
964
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
965
-             */
966
-            final public function unserialize($serialized) {}
967
-
968
-            final public function isDefault() {}
969
-        }
970
-
971
-        /**
972
-         * The MongoDB\Driver\WriteResult class encapsulates information about an executed MongoDB\Driver\BulkWrite and may be returned by MongoDB\Driver\Manager::executeBulkWrite().
973
-         * @link https://php.net/manual/en/class.mongodb-driver-writeresult.php
974
-         */
975
-        final class WriteResult
976
-        {
977
-            final private function __construct() {}
978
-
979
-            final public function __wakeup() {}
980
-
981
-            /**
982
-             * Returns the number of documents deleted
983
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getdeletedcount.php
984
-             * @return int|null
985
-             */
986
-            final public function getDeletedCount() {}
987
-
988
-            /**
989
-             * Returns the number of documents inserted (excluding upserts)
990
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getinsertedcount.php
991
-             * @return int|null
992
-             */
993
-            final public function getInsertedCount() {}
994
-
995
-            /**
996
-             * Returns the number of documents selected for update
997
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getmatchedcount.php
998
-             * @return int|null
999
-             */
1000
-            final public function getMatchedCount() {}
1001
-
1002
-            /**
1003
-             * Returns the number of existing documents updated
1004
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getmodifiedcount.php
1005
-             * @return int|null
1006
-             */
1007
-            final public function getModifiedCount() {}
1008
-
1009
-            /**
1010
-             * Returns the server associated with this write result
1011
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getserver.php
1012
-             * @return Server
1013
-             */
1014
-            final public function getServer() {}
1015
-
1016
-            /**
1017
-             * Returns the number of documents inserted by an upsert
1018
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getupsertedcount.php
1019
-             * @return int|null
1020
-             */
1021
-            final public function getUpsertedCount() {}
1022
-
1023
-            /**
1024
-             * Returns an array of identifiers for upserted documents
1025
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getupsertedids.php
1026
-             * @return array
1027
-             */
1028
-            final public function getUpsertedIds() {}
1029
-
1030
-            /**
1031
-             * Returns any write concern error that occurred
1032
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getwriteconcernerror.php
1033
-             * @return WriteConcernError|null
1034
-             */
1035
-            final public function getWriteConcernError() {}
1036
-
1037
-            /**
1038
-             * Returns any write errors that occurred
1039
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.getwriteerrors.php
1040
-             * @return WriteError[]
1041
-             */
1042
-            final public function getWriteErrors() {}
1043
-
1044
-            /**
1045
-             * Returns whether the write was acknowledged
1046
-             * @link https://php.net/manual/en/mongodb-driver-writeresult.isacknowledged.php
1047
-             * @return bool
1048
-             */
1049
-            final public function isAcknowledged() {}
1050
-        }
1051
-
1052
-        /**
1053
-         * The MongoDB\Driver\WriteError class encapsulates information about a write error and may be returned as an array element from MongoDB\Driver\WriteResult::getWriteErrors().
1054
-         */
1055
-        final class WriteError
1056
-        {
1057
-            final private function __construct() {}
1058
-
1059
-            final public function __wakeup() {}
1060
-
1061
-            /**
1062
-             * Returns the WriteError's error code
1063
-             * @link https://php.net/manual/en/mongodb-driver-writeerror.getcode.php
1064
-             * @return int
1065
-             */
1066
-            final public function getCode() {}
1067
-
1068
-            /**
1069
-             * Returns the index of the write operation corresponding to this WriteError
1070
-             * @link https://php.net/manual/en/mongodb-driver-writeerror.getindex.php
1071
-             * @return int
1072
-             */
1073
-            final public function getIndex() {}
1074
-
1075
-            /**
1076
-             * Returns additional metadata for the WriteError
1077
-             * @link https://php.net/manual/en/mongodb-driver-writeerror.getinfo.php
1078
-             * @return mixed
1079
-             */
1080
-            final public function getInfo() {}
1081
-
1082
-            /**
1083
-             * Returns the WriteError's error message
1084
-             * @link https://php.net/manual/en/mongodb-driver-writeerror.getmessage.php
1085
-             * @return string
1086
-             */
1087
-            final public function getMessage() {}
1088
-        }
1089
-
1090
-        /**
1091
-         * The MongoDB\Driver\WriteConcernError class encapsulates information about a write concern error and may be returned by MongoDB\Driver\WriteResult::getWriteConcernError().
1092
-         * @link https://php.net/manual/en/class.mongodb-driver-writeconcernerror.php
1093
-         */
1094
-        final class WriteConcernError
1095
-        {
1096
-            final private function __construct() {}
1097
-
1098
-            final public function __wakeup() {}
1099
-
1100
-            /**
1101
-             * Returns the WriteConcernError's error code
1102
-             * @link https://php.net/manual/en/mongodb-driver-writeconcernerror.getcode.php
1103
-             * @return int
1104
-             */
1105
-            final public function getCode() {}
1106
-
1107
-            /**
1108
-             * Returns additional metadata for the WriteConcernError
1109
-             * @link https://php.net/manual/en/mongodb-driver-writeconcernerror.getinfo.php
1110
-             * @return mixed
1111
-             */
1112
-            final public function getInfo() {}
1113
-
1114
-            /**
1115
-             * Returns the WriteConcernError's error message
1116
-             * @link https://php.net/manual/en/mongodb-driver-writeconcernerror.getmessage.php
1117
-             * @return string
1118
-             */
1119
-            final public function getMessage() {}
1120
-        }
1121
-
1122
-        /**
1123
-         * Class Session
1124
-         *
1125
-         * @link https://secure.php.net/manual/en/class.mongodb-driver-session.php
1126
-         * @since 1.4.0
1127
-         */
1128
-        final class Session
1129
-        {
1130
-            /**
1131
-             * @since 1.7.0
1132
-             */
1133
-            public const TRANSACTION_NONE = 'none';
1134
-            /**
1135
-             * @since 1.7.0
1136
-             */
1137
-            public const TRANSACTION_STARTING = 'starting';
1138
-            /**
1139
-             * @since 1.7.0
1140
-             */
1141
-            public const TRANSACTION_IN_PROGRESS = 'in_progress';
1142
-            /**
1143
-             * @since 1.7.0
1144
-             */
1145
-            public const TRANSACTION_COMMITTED = 'committed';
1146
-            /**
1147
-             * @since 1.7.0
1148
-             */
1149
-            public const TRANSACTION_ABORTED = 'aborted';
1150
-
1151
-            /**
1152
-             * Create a new Session (not used)
1153
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.construct.php
1154
-             * @since 1.4.0
1155
-             */
1156
-            final private function __construct() {}
1157
-
1158
-            final public function __wakeup() {}
1159
-
1160
-            /**
1161
-             * Aborts a transaction
1162
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.aborttransaction.php
1163
-             * @return void
1164
-             * @since 1.5.0
1165
-             */
1166
-            final public function abortTransaction() {}
1167
-
1168
-            /**
1169
-             * Advances the cluster time for this session
1170
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.advanceclustertime.php
1171
-             * @param array|object $clusterTime The cluster time is a document containing a logical timestamp and server signature
1172
-             * @return void
1173
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
1174
-             * @since 1.4.0
1175
-             */
1176
-            final public function advanceClusterTime($clusterTime) {}
1177
-
1178
-            /**
1179
-             * Advances the operation time for this session
1180
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.advanceoperationtime.php
1181
-             * @param \MongoDB\BSON\TimestampInterface $timestamp
1182
-             * @return void
1183
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
1184
-             * @since 1.4.0
1185
-             */
1186
-            final public function advanceOperationTime($timestamp) {}
1187
-
1188
-            /**
1189
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.committransaction.php
1190
-             * @return void
1191
-             * @throws InvalidArgumentException On argument parsing errors
1192
-             * @throws CommandException If the server could not commit the transaction (e.g. due to conflicts,
1193
-             * network issues). In case the exception's MongoDB\Driver\Exception\CommandException::getResultDocument() has a "errorLabels"
1194
-             * element, and this array contains a "TransientTransactionError" or "UnUnknownTransactionCommitResult" value, it is safe to
1195
-             * re-try the whole transaction. In newer versions of the driver, MongoDB\Driver\Exception\RuntimeException::hasErrorLabel()
1196
-             * should be used to test for this situation instead.
1197
-             * @throws \MongoDB\Driver\Exception\RuntimeException If the transaction could not be committed (e.g. a transaction was not started)
1198
-             * @since 1.5.0
1199
-             */
1200
-            final public function commitTransaction() {}
1201
-
1202
-            /**
1203
-             * This method closes an existing session. If a transaction was associated with this session, this transaction is also aborted,
1204
-             * and all its operations are rolled back.
1205
-             *
1206
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.endsession.php
1207
-             * @return void
1208
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
1209
-             * @since 1.5.0
1210
-             */
1211
-            final public function endSession() {}
1212
-
1213
-            /**
1214
-             * Returns the cluster time for this session
1215
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.getclustertime.php
1216
-             * @return object|null
1217
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1218
-             * @since 1.4.0
1219
-             */
1220
-            final public function getClusterTime() {}
1221
-
1222
-            /**
1223
-             * Returns the logical session ID for this session
1224
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.getlogicalsessionid.php
1225
-             * @return object Returns the logical session ID for this session
1226
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1227
-             * @since 1.4.0
1228
-             */
1229
-            final public function getLogicalSessionId() {}
1230
-
1231
-            /**
1232
-             * Returns the operation time for this session, or NULL if the session has no operation time
1233
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.getoperationtime.php
1234
-             * @return \MongoDB\BSON\Timestamp|null
1235
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1236
-             * @since 1.4.0
1237
-             */
1238
-            final public function getOperationTime() {}
1239
-
1240
-            /**
1241
-             * Returns the server to which this session is pinned, or NULL if the session is not pinned to any server.
1242
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.getserver.php
1243
-             * @return \MongoDB\Driver\Server|null
1244
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1245
-             * @since 1.6.0
1246
-             */
1247
-            final public function getServer() {}
1248
-
1249
-            /**
1250
-             * Returns options for the current transactions, or NULL if no transaction is running.
1251
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.gettransactionoptions.php
1252
-             * @return array|null
1253
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1254
-             * @since 1.7.0
1255
-             */
1256
-            final public function getTransactionOptions() {}
1257
-
1258
-            /**
1259
-             * Returns the current transaction state
1260
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.gettransactionstate.php
1261
-             * @return string
1262
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1263
-             * @since 1.7.0
1264
-             */
1265
-            final public function getTransactionState() {}
1266
-
1267
-            /**
1268
-             * Returns whether a multi-document transaction is in progress.
1269
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.isintransaction.php
1270
-             * @return bool
1271
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1272
-             * @since 1.6.0
1273
-             */
1274
-            final public function isInTransaction() {}
1275
-
1276
-            /**
1277
-             * Starts a transaction
1278
-             * @link https://secure.php.net/manual/en/mongodb-driver-session.starttransaction.php
1279
-             * @param array|object $options
1280
-             * @return void
1281
-             * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
1282
-             * @throws \MongoDB\Driver\Exception\CommandException If the the transaction could not be started because of a server-side problem (e.g. a lock could not be obtained).
1283
-             * @throws \MongoDB\Driver\Exception\RuntimeException If the the transaction could not be started (e.g. a transaction was already started).
1284
-             * @since 1.4.0
1285
-             */
1286
-            final public function startTransaction(?array $options = []) {}
1287
-        }
1288
-
1289
-        /**
1290
-         * This interface is implemented by MongoDB\Driver\Cursor but may also be used for type-hinting and userland classes.
1291
-         * @link https://www.php.net/manual/en/class.mongodb-driver-cursorinterface.php
1292
-         * @since 1.6.0
1293
-         */
1294
-        interface CursorInterface extends Traversable
1295
-        {
1296
-            /**
1297
-             * Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID uniquely identifies the cursor on the server.
1298
-             * @return CursorId Returns the MongoDB\Driver\CursorId for this cursor.
1299
-             * @throws InvalidArgumentException
1300
-             * @link https://www.php.net/manual/en/mongodb-driver-cursorinterface.getid.php
1301
-             */
1302
-            public function getId();
1303
-
1304
-            /**
1305
-             * Returns the MongoDB\Driver\Server associated with this cursor.
1306
-             * This is the server that executed the MongoDB\Driver\Query or MongoDB\Driver\Command.
1307
-             * @link https://www.php.net/manual/en/mongodb-driver-cursorinterface.getserver.php
1308
-             * @return Server Returns the MongoDB\Driver\Server associated with this cursor.
1309
-             * @throws InvalidArgumentException
1310
-             */
1311
-            public function getServer();
1312
-
1313
-            /**
1314
-             * Checks whether the cursor may have additional results available to read.
1315
-             * @link https://www.php.net/manual/en/mongodb-driver-cursorinterface.isdead.php
1316
-             * @return bool Returns TRUE if additional results are not available, and FALSE otherwise.
1317
-             * @throws InvalidArgumentException
1318
-             */
1319
-            public function isDead();
1320
-
1321
-            /**
1322
-             * Sets a type map to use for BSON unserialization
1323
-             * @link https://www.php.net/manual/en/mongodb-driver-cursorinterface.settypemap.php
1324
-             * @param array $typemap Type map configuration.
1325
-             * @return mixed
1326
-             * @throws InvalidArgumentException
1327
-             */
1328
-            public function setTypeMap(array $typemap);
1329
-
1330
-            /**
1331
-             * Iterates the cursor and returns its results in an array.
1332
-             * MongoDB\Driver\CursorInterface::setTypeMap() may be used to control how documents are unserialized into PHP values.
1333
-             * @return array Returns an array containing all results for this cursor.
1334
-             * @throws InvalidArgumentException
1335
-             */
1336
-            public function toArray();
1337
-        }
1338
-
1339
-        /**
1340
-         * The MongoDB\Driver\ClientEncryption class handles creation of data keys for client-side encryption, as well as manually encrypting and decrypting values.
1341
-         * @link https://www.php.net/manual/en/class.mongodb-driver-clientencryption.php
1342
-         * @since 1.7.0
1343
-         */
1344
-        final class ClientEncryption
1345
-        {
1346
-            public const AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC = 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic';
1347
-            public const AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM = 'AEAD_AES_256_CBC_HMAC_SHA_512-Random';
1348
-
1349
-            final private function __construct() {}
1350
-
1351
-            final public function __wakeup() {}
1352
-
1353
-            /**
1354
-             * Creates a new key document and inserts into the key vault collection.
1355
-             * @link https://www.php.net/manual/en/mongodb-driver-clientencryption.createdatakey.php
1356
-             * @param string $kmsProvider The KMS provider ("local" or "aws") that will be used to encrypt the new encryption key.
1357
-             * @param array $options [optional]
1358
-             * @return \MongoDB\BSON\Binary Returns the identifier of the new key as a MongoDB\BSON\Binary object with subtype 4 (UUID).
1359
-             * @throws InvalidArgumentException On argument parsing errors.
1360
-             * @throws EncryptionException If an error occurs while creating the data key.
1361
-             */
1362
-            final public function createDataKey($kmsProvider, ?array $options = []) {}
1363
-
1364
-            /**
1365
-             * Decrypts an encrypted value (BSON binary of subtype 6).
1366
-             * @link https://www.php.net/manual/en/mongodb-driver-clientencryption.decrypt.php
1367
-             * @param \MongoDB\BSON\BinaryInterface $keyVaultClient A MongoDB\BSON\Binary instance with subtype 6 containing the encrypted value.
1368
-             * @return mixed Returns the decrypted value
1369
-             * @throws InvalidArgumentException On argument parsing errors.
1370
-             * @throws EncryptionException If an error occurs while decrypting the value.
1371
-             */
1372
-            final public function decrypt(\MongoDB\BSON\BinaryInterface $keyVaultClient) {}
1373
-
1374
-            /**
1375
-             * Encrypts a value with a given key and algorithm.
1376
-             * @link https://www.php.net/manual/en/mongodb-driver-clientencryption.encrypt.php
1377
-             * @param mixed $value The value to be encrypted. Any value that can be inserted into MongoDB can be encrypted using this method.
1378
-             * @param array $options [optional]
1379
-             * @return \MongoDB\BSON\Binary Returns the encrypted value as MongoDB\BSON\Binary object with subtype 6.
1380
-             * @throws InvalidArgumentException On argument parsing errors.
1381
-             * @throws EncryptionException If an error occurs while encrypting the value.
1382
-             */
1383
-            final public function encrypt($value, ?array $options = []) {}
1384
-        }
1385
-    }
18
+	use MongoDB\BSON\Serializable;
19
+	use MongoDB\Driver\Exception\AuthenticationException;
20
+	use MongoDB\Driver\Exception\BulkWriteException;
21
+	use MongoDB\Driver\Exception\CommandException;
22
+	use MongoDB\Driver\Exception\ConnectionException;
23
+	use MongoDB\Driver\Exception\EncryptionException;
24
+	use MongoDB\Driver\Exception\Exception;
25
+	use MongoDB\Driver\Exception\InvalidArgumentException;
26
+	use MongoDB\Driver\Exception\RuntimeException;
27
+	use MongoDB\Driver\Exception\UnexpectedValueException;
28
+	use MongoDB\Driver\Exception\WriteConcernException;
29
+	use MongoDB\Driver\Exception\WriteException;
30
+	use MongoDB\Driver\Monitoring\Subscriber;
31
+	use Traversable;
32
+
33
+		/**
34
+		 * The MongoDB\Driver\Manager is the main entry point to the extension. It is responsible for maintaining connections to MongoDB (be it standalone server, replica set, or sharded cluster).
35
+		 * No connection to MongoDB is made upon instantiating the Manager. This means the MongoDB\Driver\Manager can always be constructed, even though one or more MongoDB servers are down.
36
+		 * Any write or query can throw connection exceptions as connections are created lazily. A MongoDB server may also become unavailable during the life time of the script. It is therefore important that all actions on the Manager to be wrapped in try/catch statements.
37
+		 * @link https://php.net/manual/en/class.mongodb-driver-manager.php
38
+		 */
39
+		final class Manager
40
+		{
41
+			/**
42
+			 * Manager constructor.
43
+			 * @link https://php.net/manual/en/mongodb-driver-manager.construct.php
44
+			 * @param string $uri A mongodb:// connection URI
45
+			 * @param array $options Connection string options
46
+			 * @param array $driverOptions Any driver-specific options not included in MongoDB connection spec.
47
+			 * @throws InvalidArgumentException on argument parsing errors
48
+			 * @throws RuntimeException if the uri format is invalid
49
+			 */
50
+			final public function __construct($uri = '', array $options = [], array $driverOptions = []) {}
51
+
52
+			final public function __wakeup() {}
53
+
54
+			/**
55
+			 * Return a ClientEncryption instance.
56
+			 * @link https://php.net/manual/en/mongodb-driver-manager.createclientencryption.php
57
+			 * @param array $options
58
+			 * @return \MongoDB\Driver\ClientEncryption
59
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors.
60
+			 * @throws \MongoDB\Driver\Exception\RuntimeException If the extension was compiled without libmongocrypt support.
61
+			 */
62
+			final public function createClientEncryption(array $options) {}
63
+
64
+			/**
65
+			 * Execute one or more write operations
66
+			 * @link https://php.net/manual/en/mongodb-driver-manager.executebulkwrite.php
67
+			 * @param string $namespace A fully qualified namespace (databaseName.collectionName)
68
+			 * @param BulkWrite $zbulk The MongoDB\Driver\BulkWrite to execute.
69
+			 * @param array|WriteConcern $options WriteConcern type for backwards compatibility
70
+			 * @return WriteResult
71
+			 * @throws InvalidArgumentException on argument parsing errors.
72
+			 * @throws ConnectionException if connection to the server fails for other then authentication reasons
73
+			 * @throws AuthenticationException if authentication is needed and fails
74
+			 * @throws BulkWriteException on any write failure
75
+			 * @throws RuntimeException on other errors (invalid command, command arguments, ...)
76
+			 * @since 1.4.0 added $options argument
77
+			 */
78
+			final public function executeBulkWrite($namespace, BulkWrite $zbulk, $options = []) {}
79
+
80
+			/**
81
+			 * @link https://php.net/manual/en/mongodb-driver-manager.executecommand.php
82
+			 * @param string $db The name of the database on which to execute the command.
83
+			 * @param Command $command The command document.
84
+			 * @param array|ReadPreference $options ReadPreference type for backwards compatibility
85
+			 * @return Cursor
86
+			 * @throws Exception
87
+			 * @throws AuthenticationException if authentication is needed and fails
88
+			 * @throws ConnectionException if connection to the server fails for other then authentication reasons
89
+			 * @throws RuntimeException on other errors (invalid command, command arguments, ...)
90
+			 * @throws WriteException on Write Error
91
+			 * @throws WriteConcernException on Write Concern failure
92
+			 * @since 1.4.0 added $options argument
93
+			 */
94
+			final public function executeCommand($db, Command $command, $options = []) {}
95
+
96
+			/**
97
+			 * Execute a MongoDB query
98
+			 * @link https://php.net/manual/en/mongodb-driver-manager.executequery.php
99
+			 * @param string $namespace A fully qualified namespace (databaseName.collectionName)
100
+			 * @param Query $zquery A MongoDB\Driver\Query to execute.
101
+			 * @param array|ReadPreference $options ReadPreference type for backwards compatibility
102
+			 * @return Cursor
103
+			 * @throws Exception
104
+			 * @throws AuthenticationException if authentication is needed and fails
105
+			 * @throws ConnectionException if connection to the server fails for other then authentication reasons
106
+			 * @throws RuntimeException on other errors (invalid command, command arguments, ...)
107
+			 * @since 1.4.0 added $options argument
108
+			 */
109
+			final public function executeQuery($namespace, Query $zquery, $options = []) {}
110
+
111
+			/**
112
+			 * @link https://php.net/manual/en/mongodb-driver-manager.executereadcommand.php
113
+			 * @param string $db The name of the database on which to execute the command that reads.
114
+			 * @param Command $command The command document.
115
+			 * @param array $options
116
+			 * @return Cursor
117
+			 * @throws Exception
118
+			 * @throws AuthenticationException if authentication is needed and fails
119
+			 * @throws ConnectionException if connection to the server fails for other then authentication reasons
120
+			 * @throws RuntimeException on other errors (invalid command, command arguments, ...)
121
+			 * @throws WriteException on Write Error
122
+			 * @throws WriteConcernException on Write Concern failure
123
+			 * @since 1.4.0
124
+			 */
125
+			final public function executeReadCommand($db, Command $command, array $options = []) {}
126
+
127
+			/**
128
+			 * @link https://php.net/manual/en/mongodb-driver-manager.executereadwritecommand.php
129
+			 * @param string $db The name of the database on which to execute the command that reads.
130
+			 * @param Command $command The command document.
131
+			 * @param array $options
132
+			 * @return Cursor
133
+			 * @throws Exception
134
+			 * @throws AuthenticationException if authentication is needed and fails
135
+			 * @throws ConnectionException if connection to the server fails for other then authentication reasons
136
+			 * @throws RuntimeException on other errors (invalid command, command arguments, ...)
137
+			 * @throws WriteException on Write Error
138
+			 * @throws WriteConcernException on Write Concern failure
139
+			 * @since 1.4.0
140
+			 */
141
+			final public function executeReadWriteCommand($db, Command $command, $options = []) {}
142
+
143
+			/**
144
+			 * @link https://php.net/manual/en/mongodb-driver-manager.executewritecommand.php
145
+			 * @param string $db The name of the database on which to execute the command that writes.
146
+			 * @param Command $command The command document.
147
+			 * @param array $options
148
+			 * @return Cursor
149
+			 * @throws Exception
150
+			 * @throws AuthenticationException if authentication is needed and fails
151
+			 * @throws ConnectionException if connection to the server fails for other then authentication reasons
152
+			 * @throws RuntimeException on other errors (invalid command, command arguments, ...)
153
+			 * @throws WriteException on Write Error
154
+			 * @throws WriteConcernException on Write Concern failure
155
+			 * @since 1.4.0
156
+			 */
157
+			final public function executeWriteCommand($db, Command $command, array $options = []) {}
158
+
159
+			/**
160
+			 * Return the ReadConcern for the Manager
161
+			 * @link https://php.net/manual/en/mongodb-driver-manager.getreadconcern.php
162
+			 * @throws InvalidArgumentException on argument parsing errors.
163
+			 * @return ReadConcern
164
+			 */
165
+			final public function getReadConcern() {}
166
+
167
+			/**
168
+			 * Return the ReadPreference for the Manager
169
+			 * @link https://php.net/manual/en/mongodb-driver-manager.getreadpreference.php
170
+			 * @throws InvalidArgumentException
171
+			 * @return ReadPreference
172
+			 */
173
+			final public function getReadPreference() {}
174
+
175
+			/**
176
+			 * Return the servers to which this manager is connected
177
+			 * @link https://php.net/manual/en/mongodb-driver-manager.getservers.php
178
+			 * @throws InvalidArgumentException on argument parsing errors
179
+			 * @return Server[]
180
+			 */
181
+			final public function getServers() {}
182
+
183
+			/**
184
+			 * Return the WriteConcern for the Manager
185
+			 * @link https://php.net/manual/en/mongodb-driver-manager.getwriteconcern.php
186
+			 * @throws InvalidArgumentException on argument parsing errors.
187
+			 * @return WriteConcern
188
+			 */
189
+			final public function getWriteConcern() {}
190
+
191
+			/**
192
+			 * Preselect a MongoDB node based on provided readPreference. This can be useful to guarantee a command runs on a specific server when operating in a mixed version cluster.
193
+			 * https://secure.php.net/manual/en/mongodb-driver-manager.selectserver.php
194
+			 * @param ReadPreference $readPreference Optionally, a MongoDB\Driver\ReadPreference to route the command to. If none given, defaults to the Read Preferences set by the MongoDB Connection URI.
195
+			 * @throws InvalidArgumentException on argument parsing errors.
196
+			 * @throws ConnectionException if connection to the server fails (for reasons other than authentication).
197
+			 * @throws AuthenticationException if authentication is needed and fails.
198
+			 * @throws RuntimeException if a server matching the read preference could not be found.
199
+			 * @return Server
200
+			 */
201
+			final public function selectServer(ReadPreference $readPreference = null) {}
202
+
203
+			/**
204
+			 * Start a new client session for use with this client
205
+			 * @param array $options
206
+			 * @return \MongoDB\Driver\Session
207
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
208
+			 * @throws \MongoDB\Driver\Exception\RuntimeException If the session could not be created (e.g. libmongoc does not support crypto).
209
+			 * @link https://secure.php.net/manual/en/mongodb-driver-manager.startsession.php
210
+			 * @since 1.4.0
211
+			 */
212
+			final public function startSession(?array $options = []) {}
213
+
214
+			final public function addSubscriber(Subscriber $subscriber) {}
215
+
216
+			final public function removeSubscriber(Subscriber $subscriber) {}
217
+		}
218
+
219
+		/**
220
+		 * @link https://php.net/manual/en/class.mongodb-driver-server.php
221
+		 */
222
+		final class Server
223
+		{
224
+			public const TYPE_UNKNOWN = 0;
225
+			public const TYPE_STANDALONE = 1;
226
+			public const TYPE_MONGOS = 2;
227
+			public const TYPE_POSSIBLE_PRIMARY = 3;
228
+			public const TYPE_RS_PRIMARY = 4;
229
+			public const TYPE_RS_SECONDARY = 5;
230
+			public const TYPE_RS_ARBITER = 6;
231
+			public const TYPE_RS_OTHER = 7;
232
+			public const TYPE_RS_GHOST = 8;
233
+
234
+			/**
235
+			 * Server constructor.
236
+			 * @link https://php.net/manual/en/mongodb-driver-server.construct.php
237
+			 * @throws RuntimeException (can only be created internally)
238
+			 */
239
+			final private function __construct() {}
240
+
241
+			final public function __wakeup() {}
242
+
243
+			/**
244
+			 * Execute one or more write operations on this server
245
+			 * @link https://php.net/manual/en/mongodb-driver-server.executebulkwrite.php
246
+			 * @param string $namespace A fully qualified namespace (e.g. "databaseName.collectionName").
247
+			 * @param BulkWrite $zbulk The MongoDB\Driver\BulkWrite to execute.
248
+			 * @param array $options
249
+			 * @throws BulkWriteException on any write failure (e.g. write error, failure to apply a write concern).
250
+			 * @throws InvalidArgumentException on argument parsing errors.
251
+			 * @throws ConnectionException if connection to the server fails (for reasons other than authentication).
252
+			 * @throws AuthenticationException if authentication is needed and fails.
253
+			 * @throws RuntimeException on other errors.
254
+			 * @return WriteResult
255
+			 * @since 1.0.0
256
+			 */
257
+			final public function executeBulkWrite($namespace, BulkWrite $zbulk, $options = []) {}
258
+
259
+			/**
260
+			 * Execute a database command on this server
261
+			 * @link https://php.net/manual/en/mongodb-driver-server.executecommand.php
262
+			 * @param string $db The name of the database on which to execute the command.
263
+			 * @param Command $command The MongoDB\Driver\Command to execute.
264
+			 * @param ReadPreference $options Optionally, a MongoDB\Driver\ReadPreference to select the server for this operation. If none is given, the read preference from the MongoDB Connection URI will be used.
265
+			 * @throws InvalidArgumentException on argument parsing errors.
266
+			 * @throws ConnectionException if connection to the server fails (for reasons other than authentication).
267
+			 * @throws AuthenticationException if authentication is needed and fails.
268
+			 * @throws RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).
269
+			 * @return Cursor
270
+			 * @since 1.0.0
271
+			 */
272
+			final public function executeCommand($db, Command $command, $options = null) {}
273
+
274
+			/**
275
+			 * Execute a database command that reads on this server
276
+			 * @link https://secure.php.net/manual/en/mongodb-driver-server.executereadcommand.php
277
+			 * @param string                  $db
278
+			 * @param \MongoDB\Driver\Command $command
279
+			 * @param array                   $options
280
+			 * @return Cursor
281
+			 * @throws InvalidArgumentException On argument parsing errors or  if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
282
+			 * @throws ConnectionException If connection to the server fails (for reasons other than authentication).
283
+			 * @throws AuthenticationException If authentication is needed and fails.
284
+			 * @throws RuntimeException On other errors (e.g. invalid command).
285
+			 * @since 1.4.0
286
+			 */
287
+			final public function executeReadCommand($db, Command $command, array $options = []) {}
288
+
289
+			/**
290
+			 * Execute a database command that reads and writes on this server
291
+			 * @link https://secure.php.net/manual/en/mongodb-driver-server.executereadwritecommand.php
292
+			 * @param string                  $db
293
+			 * @param \MongoDB\Driver\Command $command
294
+			 * @param array                   $options
295
+			 * @return Cursor
296
+			 * @throws InvalidArgumentException On argument parsing errors OR if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option OR if the "session" option is used in combination with an unacknowledged write concern
297
+			 * @throws ConnectionException If connection to the server fails (for reasons other than authentication).
298
+			 * @throws AuthenticationException If authentication is needed and fails.
299
+			 * @throws RuntimeException On other errors (e.g. invalid command).
300
+			 * @since 1.4.0
301
+			 */
302
+			final public function executeReadWriteCommand($db, Command $command, array $options = []) {}
303
+
304
+			/**
305
+			 * Execute a database command that writes on this server
306
+			 * @link https://secure.php.net/manual/en/mongodb-driver-server.executewritecommand.php
307
+			 * @param string                  $db
308
+			 * @param \MongoDB\Driver\Command $command
309
+			 * @param array                   $options
310
+			 * @return Cursor
311
+			 * @throws InvalidArgumentException On argument parsing errors or  if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
312
+			 * @throws ConnectionException If connection to the server fails (for reasons other than authentication).
313
+			 * @throws AuthenticationException If authentication is needed and fails.
314
+			 * @throws RuntimeException On other errors (e.g. invalid command).
315
+			 * @since 1.4.0
316
+			 */
317
+			final public function executeWriteCommand($db, Command $command, array $options = []) {}
318
+
319
+			/**
320
+			 * Execute a database query on this server
321
+			 * @link https://php.net/manual/en/mongodb-driver-server.executequery.php
322
+			 * @param string $namespace A fully qualified namespace (e.g. "databaseName.collectionName").
323
+			 * @param Query $zquery The MongoDB\Driver\Query to execute.
324
+			 * @param array|ReadPreference $options
325
+			 * <table>
326
+			 * <caption><strong>options</strong></caption>
327
+			 *
328
+			 * <thead>
329
+			 * <tr>
330
+			 * <th>Option</th>
331
+			 * <th>Type</th>
332
+			 * <th>Description</th>
333
+			 * </tr>
334
+			 *
335
+			 * </thead>
336
+			 *
337
+			 * <tbody>
338
+			 *
339
+			 * <tr>
340
+			 * <td>readPreference</td>
341
+			 * <td><a href="https://php.net/manual/en/php.neclass.mongodb-driver-readpreference.php">MongoDB\Driver\ReadPreference</a></td>
342
+			 * <td>
343
+			 * <p>
344
+			 * A read preference to use for selecting a server for the operation.
345
+			 * </p>
346
+			 * </td>
347
+			 * </tr>
348
+			 * <tr>
349
+			 * <td>session</td>
350
+			 * <td><a href="https://php.net/manual/en/class.mongodb-driver-session.php">MongoDB\Driver\Session</a></td>
351
+			 * <td>
352
+			 * <p>
353
+			 * A session to associate with the operation.
354
+			 * </p>
355
+			 * </td>
356
+			 * </tr>
357
+			 * </tbody>
358
+			 * </table>
359
+			 * The third parameter is now an options array. For backwards compatibility, this parameter will still accept a MongoDB\Driver\ReadPreference object.
360
+			 * @throws InvalidArgumentException on argument parsing errors.
361
+			 * @throws ConnectionException if connection to the server fails (for reasons other than authentication).
362
+			 * @throws AuthenticationException if authentication is needed and fails.
363
+			 * @throws RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).
364
+			 * @return Cursor
365
+			 */
366
+			final public function executeQuery($namespace, Query $zquery, $options = []) {}
367
+
368
+			/**
369
+			 * Returns the hostname of this server
370
+			 * @link https://php.net/manual/en/mongodb-driver-server.gethost.php
371
+			 * @throws InvalidArgumentException on argument parsing errors.
372
+			 * @return string
373
+			 */
374
+			final public function getHost() {}
375
+
376
+			/**
377
+			 * Returns an array of information about this server
378
+			 * @link https://php.net/manual/en/mongodb-driver-server.getinfo.php
379
+			 * @throws InvalidArgumentException on argument parsing errors.
380
+			 * @return array
381
+			 */
382
+			final public function getInfo() {}
383
+
384
+			/**
385
+			 * Returns the latency of this server
386
+			 * @link https://php.net/manual/en/mongodb-driver-server.getlatency.php
387
+			 * @throws InvalidArgumentException on argument parsing errors.
388
+			 * @return int
389
+			 */
390
+			final public function getLatency() {}
391
+
392
+			/**
393
+			 * Returns the port on which this server is listening
394
+			 * @link https://php.net/manual/en/mongodb-driver-server.getport.php
395
+			 * @throws InvalidArgumentException on argument parsing errors.
396
+			 * @return int
397
+			 */
398
+			final public function getPort() {}
399
+
400
+			/**
401
+			 * Returns an array of tags describing this server in a replica set
402
+			 * @link https://php.net/manual/en/mongodb-driver-server.gettags.php
403
+			 * @throws InvalidArgumentException on argument parsing errors.
404
+			 * @return array An array of tags used to describe this server in a replica set. The array will contain zero or more string key and value pairs.
405
+			 */
406
+			final public function getTags() {}
407
+
408
+			/**
409
+			 * Returns an integer denoting the type of this server
410
+			 * @link https://php.net/manual/en/mongodb-driver-server.gettype.php
411
+			 * @throws InvalidArgumentException on argument parsing errors.
412
+			 * @return int denoting the type of this server
413
+			 */
414
+			final public function getType() {}
415
+
416
+			/**
417
+			 * Checks if this server is an arbiter member of a replica set
418
+			 * @link https://php.net/manual/en/mongodb-driver-server.isarbiter.php
419
+			 * @throws InvalidArgumentException on argument parsing errors.
420
+			 * @return bool
421
+			 */
422
+			final public function isArbiter() {}
423
+
424
+			/**
425
+			 * Checks if this server is a hidden member of a replica set
426
+			 * @link https://php.net/manual/en/mongodb-driver-server.ishidden.php
427
+			 * @throws InvalidArgumentException on argument parsing errors.
428
+			 * @return bool
429
+			 */
430
+			final public function isHidden() {}
431
+
432
+			/**
433
+			 * Checks if this server is a passive member of a replica set
434
+			 * @link https://php.net/manual/en/mongodb-driver-server.ispassive.php
435
+			 * @throws InvalidArgumentException on argument parsing errors.
436
+			 * @return bool
437
+			 */
438
+			final public function isPassive() {}
439
+
440
+			/**
441
+			 * Checks if this server is a primary member of a replica set
442
+			 * @link https://php.net/manual/en/mongodb-driver-server.isprimary.php
443
+			 * @throws InvalidArgumentException on argument parsing errors.
444
+			 * @return bool
445
+			 */
446
+			final public function isPrimary() {}
447
+
448
+			/**
449
+			 * Checks if this server is a secondary member of a replica set
450
+			 * @link https://php.net/manual/en/mongodb-driver-server.issecondary.php
451
+			 * @throws InvalidArgumentException on argument parsing errors.
452
+			 * @return bool
453
+			 */
454
+			final public function isSecondary() {}
455
+		}
456
+
457
+		/**
458
+		 * The MongoDB\Driver\Query class is a value object that represents a database query.
459
+		 * @link https://php.net/manual/en/class.mongodb-driver-query.php
460
+		 */
461
+		final class Query
462
+		{
463
+			/**
464
+			 * Construct new Query
465
+			 * @link https://php.net/manual/en/mongodb-driver-query.construct.php
466
+			 * @param array|object $filter The search filter.
467
+			 * @param array $options
468
+			 * @throws InvalidArgumentException on argument parsing errors.
469
+			 */
470
+			final public function __construct($filter, ?array $options = []) {}
471
+
472
+			final public function __wakeup() {}
473
+		}
474
+
475
+		/**
476
+		 * The MongoDB\Driver\Command class is a value object that represents a database command.
477
+		 * To provide "Command Helpers" the MongoDB\Driver\Command object should be composed.
478
+		 * @link https://php.net/manual/en/class.mongodb-driver-command.php
479
+		 * @since 1.0.0
480
+		 */
481
+		final class Command
482
+		{
483
+			/**
484
+			 * Construct new Command
485
+			 * @param array|object $document The complete command to construct
486
+			 * @param array $options Do not use this parameter to specify options described in the command's reference in the MongoDB manual.
487
+			 * @throws InvalidArgumentException on argument parsing errors.
488
+			 * @link https://secure.php.net/manual/en/mongodb-driver-command.construct.php
489
+			 * @since 1.0.0
490
+			 */
491
+			final public function __construct($document, ?array $options = []) {}
492
+
493
+			final public function __wakeup() {}
494
+		}
495
+
496
+		/**
497
+		 * Class ReadPreference
498
+		 * @link https://php.net/manual/en/class.mongodb-driver-readpreference.php
499
+		 */
500
+		final class ReadPreference implements Serializable, \Serializable
501
+		{
502
+			public const RP_PRIMARY = 1;
503
+			public const RP_PRIMARY_PREFERRED = 5;
504
+			public const RP_SECONDARY = 2;
505
+			public const RP_SECONDARY_PREFERRED = 6;
506
+			public const RP_NEAREST = 10;
507
+
508
+			/**
509
+			 * @since 1.7.0
510
+			 */
511
+			public const PRIMARY = 'primary';
512
+			/**
513
+			 * @since 1.7.0
514
+			 */
515
+			public const PRIMARY_PREFERRED = 'primaryPreferred';
516
+			/**
517
+			 * @since 1.7.0
518
+			 */
519
+			public const SECONDARY = 'secondary';
520
+			/**
521
+			 * @since 1.7.0
522
+			 */
523
+			public const SECONDARY_PREFERRED = 'secondaryPreferred';
524
+			/**
525
+			 * @since 1.7.0
526
+			 */
527
+			public const NEAREST = 'nearest';
528
+
529
+			/**
530
+			 * @since 1.2.0
531
+			 */
532
+			public const NO_MAX_STALENESS = -1;
533
+			/**
534
+			 * @since 1.2.0
535
+			 */
536
+			public const SMALLEST_MAX_STALENESS_SECONDS = 90;
537
+
538
+			/**
539
+			 * Construct immutable ReadPreference
540
+			 * @link https://php.net/manual/en/mongodb-driver-readpreference.construct.php
541
+			 * @param string|int $mode
542
+			 * @param array|null $tagSets
543
+			 * @param array $options
544
+			 * @throws InvalidArgumentException if mode is invalid or if tagSets is provided for a primary read preference.
545
+			 */
546
+			final public function __construct($mode, ?array $tagSets = null, ?array $options = []) {}
547
+
548
+			public static function __set_state(array $properties) {}
549
+
550
+			/**
551
+			 * Returns the ReadPreference's "hedge" option
552
+			 * @since 1.8.0
553
+			 * @link https://www.php.net/manual/en/mongodb-driver-readpreference.gethedge.php
554
+			 * @return object|null
555
+			 */
556
+			final public function getHedge() {}
557
+
558
+			/**
559
+			 * Returns the ReadPreference's "mode" option
560
+			 * @link https://php.net/manual/en/mongodb-driver-readpreference.getmode.php
561
+			 * @return int
562
+			 */
563
+			final public function getMode() {}
564
+
565
+			/**
566
+			 * Returns the ReadPreference's "mode" option as a string
567
+			 * @since 1.7.0
568
+			 * @link https://php.net/manual/en/mongodb-driver-readpreference.getmodestring.php
569
+			 * @return string
570
+			 * @throws InvalidArgumentException
571
+			 */
572
+			final public function getModeString() {}
573
+
574
+			/**
575
+			 * Returns the ReadPreference's "tagSets" option
576
+			 * @link https://php.net/manual/en/mongodb-driver-readpreference.gettagsets.php
577
+			 * @return array
578
+			 */
579
+			final public function getTagSets() {}
580
+
581
+			/**
582
+			 * Returns an object for BSON serialization
583
+			 * @since 1.2.0
584
+			 * @link https://www.php.net/manual/en/mongodb-driver-readpreference.bsonserialize.php
585
+			 * @return object Returns an object for serializing the WriteConcern as BSON.
586
+			 * @throws InvalidArgumentException
587
+			 */
588
+			final public function bsonSerialize() {}
589
+
590
+			/**
591
+			 * Serialize a ReadPreference
592
+			 * @since 1.7.0
593
+			 * @link https://php.net/manual/en/mongodb-driver-readpreference.serialize.php
594
+			 * @return string
595
+			 * @throws InvalidArgumentException
596
+			 */
597
+			final public function serialize() {}
598
+
599
+			/**
600
+			 * Unserialize a ReadPreference
601
+			 * @since 1.7.0
602
+			 * @link https://php.net/manual/en/mongodb-driver-readpreference.unserialize.php
603
+			 * @param string $serialized
604
+			 * @return void
605
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
606
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
607
+			 */
608
+			final public function unserialize($serialized) {}
609
+
610
+			final public function getMaxStalenessSeconds() {}
611
+		}
612
+
613
+		/**
614
+		 * MongoDB\Driver\ReadConcern controls the level of isolation for read operations for replica sets and replica set shards. This option requires the WiredTiger storage engine and MongoDB 3.2 or later.
615
+		 * @link https://php.net/manual/en/class.mongodb-driver-readconcern.php
616
+		 * @since 1.1.0
617
+		 */
618
+		final class ReadConcern implements Serializable, \Serializable
619
+		{
620
+			/**
621
+			 * @since 1.2.0
622
+			 */
623
+			public const LINEARIZABLE = 'linearizable';
624
+			public const LOCAL = 'local';
625
+			public const MAJORITY = 'majority';
626
+			/**
627
+			 * @since 1.4.0
628
+			 */
629
+			public const AVAILABLE = 'available';
630
+
631
+			/**
632
+			 * Construct immutable ReadConcern
633
+			 * @link https://php.net/manual/en/mongodb-driver-readconcern.construct.php
634
+			 * @param string $level
635
+			 */
636
+			final public function __construct($level = null) {}
637
+
638
+			public static function __set_state(array $properties) {}
639
+
640
+			/**
641
+			 * Returns the ReadConcern's "level" option
642
+			 * @link https://php.net/manual/en/mongodb-driver-readconcern.getlevel.php
643
+			 * @return string|null
644
+			 * @since 1.0.0
645
+			 */
646
+			final public function getLevel() {}
647
+
648
+			/**
649
+			 * Returns an object for BSON serialization
650
+			 * @link https://php.net/manual/en/mongodb-driver-readconcern.bsonserialize.php
651
+			 * @return object
652
+			 * @since 1.2.0
653
+			 */
654
+			final public function bsonSerialize() {}
655
+
656
+			/**
657
+			 * Checks if this is the default read concern
658
+			 * @link https://secure.php.net/manual/en/mongodb-driver-readconcern.isdefault.php
659
+			 * @return bool
660
+			 * @since 1.3.0
661
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors.
662
+			 */
663
+			final public function isDefault() {}
664
+
665
+			/**
666
+			 * Serialize a ReadConcern
667
+			 * @since 1.7.0
668
+			 * @link https://php.net/manual/en/mongodb-driver-readconcern.serialize.php
669
+			 * @return string
670
+			 * @throws InvalidArgumentException
671
+			 */
672
+			final public function serialize() {}
673
+
674
+			/**
675
+			 * Unserialize a ReadConcern
676
+			 * @since 1.7.0
677
+			 * @link https://php.net/manual/en/mongodb-driver-readconcern.unserialize.php
678
+			 * @param string $serialized
679
+			 * @return void
680
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
681
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
682
+			 */
683
+			final public function unserialize($serialized) {}
684
+		}
685
+
686
+		/**
687
+		 * The MongoDB\Driver\Cursor class encapsulates the results of a MongoDB command or query and may be returned by MongoDB\Driver\Manager::executeCommand() or MongoDB\Driver\Manager::executeQuery(), respectively.
688
+		 * @link https://php.net/manual/en/class.mongodb-driver-cursor.php
689
+		 */
690
+		final class Cursor implements CursorInterface, \Iterator
691
+		{
692
+			/**
693
+			 * Create a new Cursor
694
+			 * MongoDB\Driver\Cursor objects are returned as the result of an executed command or query and cannot be constructed directly.
695
+			 * @link https://php.net/manual/en/mongodb-driver-cursor.construct.php
696
+			 */
697
+			final private function __construct() {}
698
+
699
+			final public function __wakeup() {}
700
+
701
+			/**
702
+			 * Returns the current element.
703
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursor.current.php
704
+			 * @return array|object
705
+			 */
706
+			public function current() {}
707
+
708
+			/**
709
+			 * Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID cursor uniquely identifies the cursor on the server.
710
+			 * @link https://php.net/manual/en/mongodb-driver-cursor.getid.php
711
+			 * @return CursorId for this Cursor
712
+			 * @throws InvalidArgumentException on argument parsing errors.
713
+			 */
714
+			final public function getId() {}
715
+
716
+			/**
717
+			 * Returns the MongoDB\Driver\Server associated with this cursor. This is the server that executed the query or command.
718
+			 * @link https://php.net/manual/en/mongodb-driver-cursor.getserver.php
719
+			 * @return Server for this Cursor
720
+			 * @throws InvalidArgumentException on argument parsing errors.
721
+			 */
722
+			final public function getServer() {}
723
+
724
+			/**
725
+			 * Checks if a cursor is still alive
726
+			 * @link https://php.net/manual/en/mongodb-driver-cursor.isdead.php
727
+			 * @return bool
728
+			 * @throws InvalidArgumentException On argument parsing errors
729
+			 */
730
+			final public function isDead() {}
731
+
732
+			/**
733
+			 * Returns the current result's index within the cursor.
734
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursor.key.php
735
+			 * @return int
736
+			 */
737
+			public function key() {}
738
+
739
+			/**
740
+			 * Advances the cursor to the next result.
741
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursor.next.php
742
+			 * @return void
743
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
744
+			 * @throws \MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
745
+			 * @throws \MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
746
+			 */
747
+			public function next() {}
748
+
749
+			/**
750
+			 * Rewind the cursor to the first result.
751
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursor.rewind.php
752
+			 * @return void
753
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
754
+			 * @throws \MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
755
+			 * @throws \MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
756
+			 * @throws \MongoDB\Driver\Exception\LogicException if this method is called after the cursor has advanced beyond its first position.
757
+			 */
758
+			public function rewind() {}
759
+
760
+			/**
761
+			 * Sets a type map to use for BSON unserialization
762
+			 *
763
+			 * @link https://php.net/manual/en/mongodb-driver-cursor.settypemap.php
764
+			 *
765
+			 * @param array $typemap
766
+			 * @return void
767
+			 * @throws InvalidArgumentException On argument parsing errors or if a class in the type map cannot
768
+			 * be instantiated or does not implement MongoDB\BSON\Unserializable
769
+			 */
770
+			final public function setTypeMap(array $typemap) {}
771
+
772
+			/**
773
+			 * Returns an array of all result documents for this cursor
774
+			 * @link https://php.net/manual/en/mongodb-driver-cursor.toarray.php
775
+			 * @return array
776
+			 * @throws InvalidArgumentException On argument parsing errors
777
+			 */
778
+			final public function toArray() {}
779
+
780
+			/**
781
+			 * Checks if the current position in the cursor is valid.
782
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursor.valid.php
783
+			 * @return bool
784
+			 */
785
+			public function valid() {}
786
+		}
787
+
788
+		/**
789
+		 * Class CursorId
790
+		 * @link https://php.net/manual/en/class.mongodb-driver-cursorid.php
791
+		 */
792
+		final class CursorId implements \Serializable
793
+		{
794
+			/**
795
+			 * Create a new CursorId (not used)
796
+			 * CursorId objects are returned from Cursor::getId() and cannot be constructed directly.
797
+			 * @link https://php.net/manual/en/mongodb-driver-cursorid.construct.php
798
+			 * @see Cursor::getId()
799
+			 */
800
+			final private function __construct() {}
801
+
802
+			/**
803
+			 * String representation of the cursor ID
804
+			 * @link https://php.net/manual/en/mongodb-driver-cursorid.tostring.php
805
+			 * @return string representation of the cursor ID.
806
+			 * @throws InvalidArgumentException on argument parsing errors.
807
+			 */
808
+			final public function __toString() {}
809
+
810
+			final public function __wakeup() {}
811
+
812
+			public static function __set_state(array $properties) {}
813
+
814
+			/**
815
+			 * Serialize a CursorId
816
+			 * @since 1.7.0
817
+			 * @link https://php.net/manual/en/mongodb-driver-cursorid.serialize.php
818
+			 * @return string
819
+			 * @throws InvalidArgumentException
820
+			 */
821
+			final public function serialize() {}
822
+
823
+			/**
824
+			 * Unserialize a CursorId
825
+			 * @since 1.7.0
826
+			 * @link https://php.net/manual/en/mongodb-driver-cursorid.unserialize.php
827
+			 * @param string $serialized
828
+			 * @return void
829
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
830
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
831
+			 */
832
+			final public function unserialize($serialized) {}
833
+		}
834
+
835
+		/**
836
+		 * The BulkWrite collects one or more write operations that should be sent to the server.
837
+		 * After adding any number of insert, update, and delete operations, the collection may be executed via Manager::executeBulkWrite().
838
+		 * Write operations may either be ordered (default) or unordered.
839
+		 * Ordered write operations are sent to the server, in the order provided, for serial execution.
840
+		 * If a write fails, any remaining operations will be aborted.
841
+		 * Unordered operations are sent to the server in an arbitrary order where they may be executed in parallel.
842
+		 * Any errors that occur are reported after all operations have been attempted.
843
+		 */
844
+		final class BulkWrite implements \Countable
845
+		{
846
+			/**
847
+			 * Create a new BulkWrite
848
+			 * Constructs a new ordered (default) or unordered BulkWrite.
849
+			 * @link https://php.net/manual/en/mongodb-driver-bulkwrite.construct.php
850
+			 * @param array $options
851
+			 * @throws InvalidArgumentException on argument parsing errors.
852
+			 */
853
+			final public function __construct(?array $options = []) {}
854
+
855
+			final public function __wakeup() {}
856
+
857
+			/**
858
+			 * Count expected roundtrips for executing the bulk
859
+			 * Returns the expected number of client-to-server roundtrips required to execute all write operations in the BulkWrite.
860
+			 * @link https://php.net/manual/en/mongodb-driver-bulkwrite.count.php
861
+			 * @return int number of expected roundtrips to execute the BulkWrite.
862
+			 * @throws InvalidArgumentException on argument parsing errors.
863
+			 */
864
+			final public function count() {}
865
+
866
+			/**
867
+			 * Add a delete operation to the bulk
868
+			 * @link https://php.net/manual/en/mongodb-driver-bulkwrite.delete.php
869
+			 * @param array|object $query The search filter
870
+			 * @param array $deleteOptions
871
+			 * @throws InvalidArgumentException on argument parsing errors.
872
+			 */
873
+			final public function delete($query, ?array $deleteOptions = []) {}
874
+
875
+			/**
876
+			 * Add an insert operation to the bulk
877
+			 * If the document did not have an _id, a MongoDB\BSON\ObjectId will be generated and returned; otherwise, no value is returned.
878
+			 * @link https://php.net/manual/en/mongodb-driver-bulkwrite.insert.php
879
+			 * @param array|object $document
880
+			 * @return mixed
881
+			 * @throws InvalidArgumentException on argument parsing errors.
882
+			 */
883
+			final public function insert($document) {}
884
+
885
+			/**
886
+			 * Add an update operation to the bulk
887
+			 * @link https://php.net/manual/en/mongodb-driver-bulkwrite.update.php
888
+			 * @param array|object $query The search filter
889
+			 * @param array|object $newObj A document containing either update operators (e.g. $set) or a replacement document (i.e. only field:value expressions)
890
+			 * @param array $updateOptions
891
+			 * @throws InvalidArgumentException on argument parsing errors.
892
+			 */
893
+			final public function update($query, $newObj, ?array $updateOptions = []) {}
894
+		}
895
+
896
+		/**
897
+		 * WriteConcern controls the acknowledgment of a write operation, specifies the level of write guarantee for Replica Sets.
898
+		 */
899
+		final class WriteConcern implements Serializable, \Serializable
900
+		{
901
+			/**
902
+			 * Majority of all the members in the set; arbiters, non-voting members, passive members, hidden members and delayed members are all included in the definition of majority write concern.
903
+			 */
904
+			public const MAJORITY = 'majority';
905
+
906
+			/**
907
+			 * Construct immutable WriteConcern
908
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcern.construct.php
909
+			 * @param string|int $w
910
+			 * @param int $wtimeout How long to wait (in milliseconds) for secondaries before failing.
911
+			 * @param bool $journal Wait until mongod has applied the write to the journal.
912
+			 * @throws InvalidArgumentException on argument parsing errors.
913
+			 */
914
+			final public function __construct($w, $wtimeout = 0, $journal = false) {}
915
+
916
+			public static function __set_state(array $properties) {}
917
+
918
+			/**
919
+			 * Returns the WriteConcern's "journal" option
920
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcern.getjournal.php
921
+			 * @return bool|null
922
+			 */
923
+			final public function getJournal() {}
924
+
925
+			/**
926
+			 * Returns the WriteConcern's "w" option
927
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcern.getw.php
928
+			 * @return string|int|null
929
+			 */
930
+			final public function getW() {}
931
+
932
+			/**
933
+			 * Returns the WriteConcern's "wtimeout" option
934
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcern.getwtimeout.php
935
+			 * @return int
936
+			 */
937
+			final public function getWtimeout() {}
938
+
939
+			/**
940
+			 * Returns an object for BSON serialization
941
+			 * @since 1.2.0
942
+			 * @link https://www.php.net/manual/en/mongodb-driver-writeconcern.bsonserialize.php
943
+			 * @return object Returns an object for serializing the WriteConcern as BSON.
944
+			 * @throws InvalidArgumentException
945
+			 */
946
+			final public function bsonSerialize() {}
947
+
948
+			/**
949
+			 * Serialize a WriteConcern
950
+			 * @since 1.7.0
951
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcern.serialize.php
952
+			 * @return string
953
+			 * @throws InvalidArgumentException
954
+			 */
955
+			final public function serialize() {}
956
+
957
+			/**
958
+			 * Unserialize a WriteConcern
959
+			 * @since 1.7.0
960
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcern.unserialize.php
961
+			 * @param string $serialized
962
+			 * @return void
963
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
964
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
965
+			 */
966
+			final public function unserialize($serialized) {}
967
+
968
+			final public function isDefault() {}
969
+		}
970
+
971
+		/**
972
+		 * The MongoDB\Driver\WriteResult class encapsulates information about an executed MongoDB\Driver\BulkWrite and may be returned by MongoDB\Driver\Manager::executeBulkWrite().
973
+		 * @link https://php.net/manual/en/class.mongodb-driver-writeresult.php
974
+		 */
975
+		final class WriteResult
976
+		{
977
+			final private function __construct() {}
978
+
979
+			final public function __wakeup() {}
980
+
981
+			/**
982
+			 * Returns the number of documents deleted
983
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getdeletedcount.php
984
+			 * @return int|null
985
+			 */
986
+			final public function getDeletedCount() {}
987
+
988
+			/**
989
+			 * Returns the number of documents inserted (excluding upserts)
990
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getinsertedcount.php
991
+			 * @return int|null
992
+			 */
993
+			final public function getInsertedCount() {}
994
+
995
+			/**
996
+			 * Returns the number of documents selected for update
997
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getmatchedcount.php
998
+			 * @return int|null
999
+			 */
1000
+			final public function getMatchedCount() {}
1001
+
1002
+			/**
1003
+			 * Returns the number of existing documents updated
1004
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getmodifiedcount.php
1005
+			 * @return int|null
1006
+			 */
1007
+			final public function getModifiedCount() {}
1008
+
1009
+			/**
1010
+			 * Returns the server associated with this write result
1011
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getserver.php
1012
+			 * @return Server
1013
+			 */
1014
+			final public function getServer() {}
1015
+
1016
+			/**
1017
+			 * Returns the number of documents inserted by an upsert
1018
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getupsertedcount.php
1019
+			 * @return int|null
1020
+			 */
1021
+			final public function getUpsertedCount() {}
1022
+
1023
+			/**
1024
+			 * Returns an array of identifiers for upserted documents
1025
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getupsertedids.php
1026
+			 * @return array
1027
+			 */
1028
+			final public function getUpsertedIds() {}
1029
+
1030
+			/**
1031
+			 * Returns any write concern error that occurred
1032
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getwriteconcernerror.php
1033
+			 * @return WriteConcernError|null
1034
+			 */
1035
+			final public function getWriteConcernError() {}
1036
+
1037
+			/**
1038
+			 * Returns any write errors that occurred
1039
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.getwriteerrors.php
1040
+			 * @return WriteError[]
1041
+			 */
1042
+			final public function getWriteErrors() {}
1043
+
1044
+			/**
1045
+			 * Returns whether the write was acknowledged
1046
+			 * @link https://php.net/manual/en/mongodb-driver-writeresult.isacknowledged.php
1047
+			 * @return bool
1048
+			 */
1049
+			final public function isAcknowledged() {}
1050
+		}
1051
+
1052
+		/**
1053
+		 * The MongoDB\Driver\WriteError class encapsulates information about a write error and may be returned as an array element from MongoDB\Driver\WriteResult::getWriteErrors().
1054
+		 */
1055
+		final class WriteError
1056
+		{
1057
+			final private function __construct() {}
1058
+
1059
+			final public function __wakeup() {}
1060
+
1061
+			/**
1062
+			 * Returns the WriteError's error code
1063
+			 * @link https://php.net/manual/en/mongodb-driver-writeerror.getcode.php
1064
+			 * @return int
1065
+			 */
1066
+			final public function getCode() {}
1067
+
1068
+			/**
1069
+			 * Returns the index of the write operation corresponding to this WriteError
1070
+			 * @link https://php.net/manual/en/mongodb-driver-writeerror.getindex.php
1071
+			 * @return int
1072
+			 */
1073
+			final public function getIndex() {}
1074
+
1075
+			/**
1076
+			 * Returns additional metadata for the WriteError
1077
+			 * @link https://php.net/manual/en/mongodb-driver-writeerror.getinfo.php
1078
+			 * @return mixed
1079
+			 */
1080
+			final public function getInfo() {}
1081
+
1082
+			/**
1083
+			 * Returns the WriteError's error message
1084
+			 * @link https://php.net/manual/en/mongodb-driver-writeerror.getmessage.php
1085
+			 * @return string
1086
+			 */
1087
+			final public function getMessage() {}
1088
+		}
1089
+
1090
+		/**
1091
+		 * The MongoDB\Driver\WriteConcernError class encapsulates information about a write concern error and may be returned by MongoDB\Driver\WriteResult::getWriteConcernError().
1092
+		 * @link https://php.net/manual/en/class.mongodb-driver-writeconcernerror.php
1093
+		 */
1094
+		final class WriteConcernError
1095
+		{
1096
+			final private function __construct() {}
1097
+
1098
+			final public function __wakeup() {}
1099
+
1100
+			/**
1101
+			 * Returns the WriteConcernError's error code
1102
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcernerror.getcode.php
1103
+			 * @return int
1104
+			 */
1105
+			final public function getCode() {}
1106
+
1107
+			/**
1108
+			 * Returns additional metadata for the WriteConcernError
1109
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcernerror.getinfo.php
1110
+			 * @return mixed
1111
+			 */
1112
+			final public function getInfo() {}
1113
+
1114
+			/**
1115
+			 * Returns the WriteConcernError's error message
1116
+			 * @link https://php.net/manual/en/mongodb-driver-writeconcernerror.getmessage.php
1117
+			 * @return string
1118
+			 */
1119
+			final public function getMessage() {}
1120
+		}
1121
+
1122
+		/**
1123
+		 * Class Session
1124
+		 *
1125
+		 * @link https://secure.php.net/manual/en/class.mongodb-driver-session.php
1126
+		 * @since 1.4.0
1127
+		 */
1128
+		final class Session
1129
+		{
1130
+			/**
1131
+			 * @since 1.7.0
1132
+			 */
1133
+			public const TRANSACTION_NONE = 'none';
1134
+			/**
1135
+			 * @since 1.7.0
1136
+			 */
1137
+			public const TRANSACTION_STARTING = 'starting';
1138
+			/**
1139
+			 * @since 1.7.0
1140
+			 */
1141
+			public const TRANSACTION_IN_PROGRESS = 'in_progress';
1142
+			/**
1143
+			 * @since 1.7.0
1144
+			 */
1145
+			public const TRANSACTION_COMMITTED = 'committed';
1146
+			/**
1147
+			 * @since 1.7.0
1148
+			 */
1149
+			public const TRANSACTION_ABORTED = 'aborted';
1150
+
1151
+			/**
1152
+			 * Create a new Session (not used)
1153
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.construct.php
1154
+			 * @since 1.4.0
1155
+			 */
1156
+			final private function __construct() {}
1157
+
1158
+			final public function __wakeup() {}
1159
+
1160
+			/**
1161
+			 * Aborts a transaction
1162
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.aborttransaction.php
1163
+			 * @return void
1164
+			 * @since 1.5.0
1165
+			 */
1166
+			final public function abortTransaction() {}
1167
+
1168
+			/**
1169
+			 * Advances the cluster time for this session
1170
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.advanceclustertime.php
1171
+			 * @param array|object $clusterTime The cluster time is a document containing a logical timestamp and server signature
1172
+			 * @return void
1173
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
1174
+			 * @since 1.4.0
1175
+			 */
1176
+			final public function advanceClusterTime($clusterTime) {}
1177
+
1178
+			/**
1179
+			 * Advances the operation time for this session
1180
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.advanceoperationtime.php
1181
+			 * @param \MongoDB\BSON\TimestampInterface $timestamp
1182
+			 * @return void
1183
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
1184
+			 * @since 1.4.0
1185
+			 */
1186
+			final public function advanceOperationTime($timestamp) {}
1187
+
1188
+			/**
1189
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.committransaction.php
1190
+			 * @return void
1191
+			 * @throws InvalidArgumentException On argument parsing errors
1192
+			 * @throws CommandException If the server could not commit the transaction (e.g. due to conflicts,
1193
+			 * network issues). In case the exception's MongoDB\Driver\Exception\CommandException::getResultDocument() has a "errorLabels"
1194
+			 * element, and this array contains a "TransientTransactionError" or "UnUnknownTransactionCommitResult" value, it is safe to
1195
+			 * re-try the whole transaction. In newer versions of the driver, MongoDB\Driver\Exception\RuntimeException::hasErrorLabel()
1196
+			 * should be used to test for this situation instead.
1197
+			 * @throws \MongoDB\Driver\Exception\RuntimeException If the transaction could not be committed (e.g. a transaction was not started)
1198
+			 * @since 1.5.0
1199
+			 */
1200
+			final public function commitTransaction() {}
1201
+
1202
+			/**
1203
+			 * This method closes an existing session. If a transaction was associated with this session, this transaction is also aborted,
1204
+			 * and all its operations are rolled back.
1205
+			 *
1206
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.endsession.php
1207
+			 * @return void
1208
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
1209
+			 * @since 1.5.0
1210
+			 */
1211
+			final public function endSession() {}
1212
+
1213
+			/**
1214
+			 * Returns the cluster time for this session
1215
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.getclustertime.php
1216
+			 * @return object|null
1217
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1218
+			 * @since 1.4.0
1219
+			 */
1220
+			final public function getClusterTime() {}
1221
+
1222
+			/**
1223
+			 * Returns the logical session ID for this session
1224
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.getlogicalsessionid.php
1225
+			 * @return object Returns the logical session ID for this session
1226
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1227
+			 * @since 1.4.0
1228
+			 */
1229
+			final public function getLogicalSessionId() {}
1230
+
1231
+			/**
1232
+			 * Returns the operation time for this session, or NULL if the session has no operation time
1233
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.getoperationtime.php
1234
+			 * @return \MongoDB\BSON\Timestamp|null
1235
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1236
+			 * @since 1.4.0
1237
+			 */
1238
+			final public function getOperationTime() {}
1239
+
1240
+			/**
1241
+			 * Returns the server to which this session is pinned, or NULL if the session is not pinned to any server.
1242
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.getserver.php
1243
+			 * @return \MongoDB\Driver\Server|null
1244
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1245
+			 * @since 1.6.0
1246
+			 */
1247
+			final public function getServer() {}
1248
+
1249
+			/**
1250
+			 * Returns options for the current transactions, or NULL if no transaction is running.
1251
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.gettransactionoptions.php
1252
+			 * @return array|null
1253
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1254
+			 * @since 1.7.0
1255
+			 */
1256
+			final public function getTransactionOptions() {}
1257
+
1258
+			/**
1259
+			 * Returns the current transaction state
1260
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.gettransactionstate.php
1261
+			 * @return string
1262
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1263
+			 * @since 1.7.0
1264
+			 */
1265
+			final public function getTransactionState() {}
1266
+
1267
+			/**
1268
+			 * Returns whether a multi-document transaction is in progress.
1269
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.isintransaction.php
1270
+			 * @return bool
1271
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException
1272
+			 * @since 1.6.0
1273
+			 */
1274
+			final public function isInTransaction() {}
1275
+
1276
+			/**
1277
+			 * Starts a transaction
1278
+			 * @link https://secure.php.net/manual/en/mongodb-driver-session.starttransaction.php
1279
+			 * @param array|object $options
1280
+			 * @return void
1281
+			 * @throws \MongoDB\Driver\Exception\InvalidArgumentException On argument parsing errors
1282
+			 * @throws \MongoDB\Driver\Exception\CommandException If the the transaction could not be started because of a server-side problem (e.g. a lock could not be obtained).
1283
+			 * @throws \MongoDB\Driver\Exception\RuntimeException If the the transaction could not be started (e.g. a transaction was already started).
1284
+			 * @since 1.4.0
1285
+			 */
1286
+			final public function startTransaction(?array $options = []) {}
1287
+		}
1288
+
1289
+		/**
1290
+		 * This interface is implemented by MongoDB\Driver\Cursor but may also be used for type-hinting and userland classes.
1291
+		 * @link https://www.php.net/manual/en/class.mongodb-driver-cursorinterface.php
1292
+		 * @since 1.6.0
1293
+		 */
1294
+		interface CursorInterface extends Traversable
1295
+		{
1296
+			/**
1297
+			 * Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID uniquely identifies the cursor on the server.
1298
+			 * @return CursorId Returns the MongoDB\Driver\CursorId for this cursor.
1299
+			 * @throws InvalidArgumentException
1300
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursorinterface.getid.php
1301
+			 */
1302
+			public function getId();
1303
+
1304
+			/**
1305
+			 * Returns the MongoDB\Driver\Server associated with this cursor.
1306
+			 * This is the server that executed the MongoDB\Driver\Query or MongoDB\Driver\Command.
1307
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursorinterface.getserver.php
1308
+			 * @return Server Returns the MongoDB\Driver\Server associated with this cursor.
1309
+			 * @throws InvalidArgumentException
1310
+			 */
1311
+			public function getServer();
1312
+
1313
+			/**
1314
+			 * Checks whether the cursor may have additional results available to read.
1315
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursorinterface.isdead.php
1316
+			 * @return bool Returns TRUE if additional results are not available, and FALSE otherwise.
1317
+			 * @throws InvalidArgumentException
1318
+			 */
1319
+			public function isDead();
1320
+
1321
+			/**
1322
+			 * Sets a type map to use for BSON unserialization
1323
+			 * @link https://www.php.net/manual/en/mongodb-driver-cursorinterface.settypemap.php
1324
+			 * @param array $typemap Type map configuration.
1325
+			 * @return mixed
1326
+			 * @throws InvalidArgumentException
1327
+			 */
1328
+			public function setTypeMap(array $typemap);
1329
+
1330
+			/**
1331
+			 * Iterates the cursor and returns its results in an array.
1332
+			 * MongoDB\Driver\CursorInterface::setTypeMap() may be used to control how documents are unserialized into PHP values.
1333
+			 * @return array Returns an array containing all results for this cursor.
1334
+			 * @throws InvalidArgumentException
1335
+			 */
1336
+			public function toArray();
1337
+		}
1338
+
1339
+		/**
1340
+		 * The MongoDB\Driver\ClientEncryption class handles creation of data keys for client-side encryption, as well as manually encrypting and decrypting values.
1341
+		 * @link https://www.php.net/manual/en/class.mongodb-driver-clientencryption.php
1342
+		 * @since 1.7.0
1343
+		 */
1344
+		final class ClientEncryption
1345
+		{
1346
+			public const AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC = 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic';
1347
+			public const AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM = 'AEAD_AES_256_CBC_HMAC_SHA_512-Random';
1348
+
1349
+			final private function __construct() {}
1350
+
1351
+			final public function __wakeup() {}
1352
+
1353
+			/**
1354
+			 * Creates a new key document and inserts into the key vault collection.
1355
+			 * @link https://www.php.net/manual/en/mongodb-driver-clientencryption.createdatakey.php
1356
+			 * @param string $kmsProvider The KMS provider ("local" or "aws") that will be used to encrypt the new encryption key.
1357
+			 * @param array $options [optional]
1358
+			 * @return \MongoDB\BSON\Binary Returns the identifier of the new key as a MongoDB\BSON\Binary object with subtype 4 (UUID).
1359
+			 * @throws InvalidArgumentException On argument parsing errors.
1360
+			 * @throws EncryptionException If an error occurs while creating the data key.
1361
+			 */
1362
+			final public function createDataKey($kmsProvider, ?array $options = []) {}
1363
+
1364
+			/**
1365
+			 * Decrypts an encrypted value (BSON binary of subtype 6).
1366
+			 * @link https://www.php.net/manual/en/mongodb-driver-clientencryption.decrypt.php
1367
+			 * @param \MongoDB\BSON\BinaryInterface $keyVaultClient A MongoDB\BSON\Binary instance with subtype 6 containing the encrypted value.
1368
+			 * @return mixed Returns the decrypted value
1369
+			 * @throws InvalidArgumentException On argument parsing errors.
1370
+			 * @throws EncryptionException If an error occurs while decrypting the value.
1371
+			 */
1372
+			final public function decrypt(\MongoDB\BSON\BinaryInterface $keyVaultClient) {}
1373
+
1374
+			/**
1375
+			 * Encrypts a value with a given key and algorithm.
1376
+			 * @link https://www.php.net/manual/en/mongodb-driver-clientencryption.encrypt.php
1377
+			 * @param mixed $value The value to be encrypted. Any value that can be inserted into MongoDB can be encrypted using this method.
1378
+			 * @param array $options [optional]
1379
+			 * @return \MongoDB\BSON\Binary Returns the encrypted value as MongoDB\BSON\Binary object with subtype 6.
1380
+			 * @throws InvalidArgumentException On argument parsing errors.
1381
+			 * @throws EncryptionException If an error occurs while encrypting the value.
1382
+			 */
1383
+			final public function encrypt($value, ?array $options = []) {}
1384
+		}
1385
+	}
1386 1386
 
1387 1387
 namespace MongoDB\Driver\Exception {
1388
-    use MongoDB\Driver\WriteResult;
1389
-    use Throwable;
1390
-
1391
-        /**
1392
-         * Thrown when the driver encounters a runtime error (e.g. internal error from » libmongoc).
1393
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-runtimeexception.php
1394
-         * @since 1.0.0
1395
-         */
1396
-        class RuntimeException extends \RuntimeException implements Exception
1397
-        {
1398
-            /**
1399
-             * @var bool
1400
-             * @since 1.6.0
1401
-             */
1402
-            protected $errorLabels;
1403
-            /**
1404
-             * Whether the given errorLabel is associated with this exception
1405
-             *
1406
-             * @param string $label
1407
-             * @return bool
1408
-             *@since 1.6.0
1409
-             */
1410
-            final public function hasErrorLabel($label) {}
1411
-        }
1412
-
1413
-        /**
1414
-         * Common interface for all driver exceptions. This may be used to catch only exceptions originating from the driver itself.
1415
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-exception.php
1416
-         */
1417
-        interface Exception extends Throwable {}
1418
-
1419
-        /**
1420
-         * Thrown when the driver fails to authenticate with the server.
1421
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-authenticationexception.php
1422
-         * @since 1.0.0
1423
-         */
1424
-        class AuthenticationException extends ConnectionException implements Exception {}
1425
-
1426
-        /**
1427
-         * Base class for exceptions thrown when the driver fails to establish a database connection.
1428
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-connectionexception.php
1429
-         * @since 1.0.0
1430
-         */
1431
-        class ConnectionException extends RuntimeException implements Exception {}
1432
-
1433
-        /**
1434
-         * Thrown when a driver method is given invalid arguments (e.g. invalid option types).
1435
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-invalidargumentexception.php
1436
-         * @since 1.0.0
1437
-         */
1438
-        class InvalidArgumentException extends \InvalidArgumentException implements Exception {}
1439
-
1440
-        /**
1441
-         * Thrown when a command fails
1442
-         *
1443
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-commandexception.php
1444
-         * @since 1.5.0
1445
-         */
1446
-        class CommandException extends ServerException
1447
-        {
1448
-            protected $resultDocument;
1449
-
1450
-            /**
1451
-             * Returns the result document for the failed command
1452
-             * @link https://secure.php.net/manual/en/mongodb-driver-commandexception.getresultdocument.php
1453
-             * @return object
1454
-             * @since 1.5.0
1455
-             */
1456
-            final public function getResultDocument() {}
1457
-        }
1458
-
1459
-        /**
1460
-         * Base class for exceptions thrown by the server. The code of this exception and its subclasses will correspond to the original
1461
-         * error code from the server.
1462
-         *
1463
-         * @link https://secure.php.net/manual/en/class.mongodb-driver-exception-serverexception.php
1464
-         * @since 1.5.0
1465
-         */
1466
-        class ServerException extends RuntimeException implements Exception {}
1467
-
1468
-        /**
1469
-         * Base class for exceptions thrown by a failed write operation.
1470
-         * The exception encapsulates a MongoDB\Driver\WriteResult object.
1471
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-writeexception.php
1472
-         * @since 1.0.0
1473
-         */
1474
-        abstract class WriteException extends ServerException implements Exception
1475
-        {
1476
-            /**
1477
-             * @var WriteResult associated with the failed write operation.
1478
-             */
1479
-            protected $writeResult;
1480
-
1481
-            /**
1482
-             * @return WriteResult for the failed write operation
1483
-             * @since 1.0.0
1484
-             */
1485
-            final public function getWriteResult() {}
1486
-        }
1487
-
1488
-        class WriteConcernException extends RuntimeException implements Exception {}
1489
-
1490
-        /**
1491
-         * Thrown when the driver encounters an unexpected value (e.g. during BSON serialization or deserialization).
1492
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-unexpectedvalueexception.php
1493
-         * @since 1.0.0
1494
-         */
1495
-        class UnexpectedValueException extends \UnexpectedValueException implements Exception {}
1496
-
1497
-        /**
1498
-         * Thrown when a bulk write operation fails.
1499
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-bulkwriteexception.php
1500
-         * @since 1.0.0
1501
-         */
1502
-        class BulkWriteException extends WriteException implements Exception {}
1503
-
1504
-        /**
1505
-         * Thrown when the driver fails to establish a database connection within a specified time limit (e.g. connectTimeoutMS).
1506
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-connectiontimeoutexception.php
1507
-         */
1508
-        class ConnectionTimeoutException extends ConnectionException implements Exception {}
1509
-
1510
-        /**
1511
-         * Thrown when a query or command fails to complete within a specified time limit (e.g. maxTimeMS).
1512
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-executiontimeoutexception.php
1513
-         */
1514
-        class ExecutionTimeoutException extends ServerException implements Exception {}
1515
-
1516
-        /**
1517
-         * Thrown when the driver is incorrectly used (e.g. rewinding a cursor).
1518
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-logicexception.php
1519
-         */
1520
-        class LogicException extends \LogicException implements Exception {}
1521
-
1522
-        /**
1523
-         * Thrown when the driver fails to establish an SSL connection with the server.
1524
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-sslconnectionexception.php
1525
-         */
1526
-        class SSLConnectionException extends ConnectionException implements Exception {}
1527
-
1528
-        /**
1529
-         * Base class for exceptions thrown during client-side encryption.
1530
-         * @link https://php.net/manual/en/class.mongodb-driver-exception-encryptionexception.php
1531
-         * @since 1.7.0
1532
-         */
1533
-        class EncryptionException extends RuntimeException implements Exception {}
1534
-    }
1388
+	use MongoDB\Driver\WriteResult;
1389
+	use Throwable;
1390
+
1391
+		/**
1392
+		 * Thrown when the driver encounters a runtime error (e.g. internal error from » libmongoc).
1393
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-runtimeexception.php
1394
+		 * @since 1.0.0
1395
+		 */
1396
+		class RuntimeException extends \RuntimeException implements Exception
1397
+		{
1398
+			/**
1399
+			 * @var bool
1400
+			 * @since 1.6.0
1401
+			 */
1402
+			protected $errorLabels;
1403
+			/**
1404
+			 * Whether the given errorLabel is associated with this exception
1405
+			 *
1406
+			 * @param string $label
1407
+			 * @return bool
1408
+			 *@since 1.6.0
1409
+			 */
1410
+			final public function hasErrorLabel($label) {}
1411
+		}
1412
+
1413
+		/**
1414
+		 * Common interface for all driver exceptions. This may be used to catch only exceptions originating from the driver itself.
1415
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-exception.php
1416
+		 */
1417
+		interface Exception extends Throwable {}
1418
+
1419
+		/**
1420
+		 * Thrown when the driver fails to authenticate with the server.
1421
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-authenticationexception.php
1422
+		 * @since 1.0.0
1423
+		 */
1424
+		class AuthenticationException extends ConnectionException implements Exception {}
1425
+
1426
+		/**
1427
+		 * Base class for exceptions thrown when the driver fails to establish a database connection.
1428
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-connectionexception.php
1429
+		 * @since 1.0.0
1430
+		 */
1431
+		class ConnectionException extends RuntimeException implements Exception {}
1432
+
1433
+		/**
1434
+		 * Thrown when a driver method is given invalid arguments (e.g. invalid option types).
1435
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-invalidargumentexception.php
1436
+		 * @since 1.0.0
1437
+		 */
1438
+		class InvalidArgumentException extends \InvalidArgumentException implements Exception {}
1439
+
1440
+		/**
1441
+		 * Thrown when a command fails
1442
+		 *
1443
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-commandexception.php
1444
+		 * @since 1.5.0
1445
+		 */
1446
+		class CommandException extends ServerException
1447
+		{
1448
+			protected $resultDocument;
1449
+
1450
+			/**
1451
+			 * Returns the result document for the failed command
1452
+			 * @link https://secure.php.net/manual/en/mongodb-driver-commandexception.getresultdocument.php
1453
+			 * @return object
1454
+			 * @since 1.5.0
1455
+			 */
1456
+			final public function getResultDocument() {}
1457
+		}
1458
+
1459
+		/**
1460
+		 * Base class for exceptions thrown by the server. The code of this exception and its subclasses will correspond to the original
1461
+		 * error code from the server.
1462
+		 *
1463
+		 * @link https://secure.php.net/manual/en/class.mongodb-driver-exception-serverexception.php
1464
+		 * @since 1.5.0
1465
+		 */
1466
+		class ServerException extends RuntimeException implements Exception {}
1467
+
1468
+		/**
1469
+		 * Base class for exceptions thrown by a failed write operation.
1470
+		 * The exception encapsulates a MongoDB\Driver\WriteResult object.
1471
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-writeexception.php
1472
+		 * @since 1.0.0
1473
+		 */
1474
+		abstract class WriteException extends ServerException implements Exception
1475
+		{
1476
+			/**
1477
+			 * @var WriteResult associated with the failed write operation.
1478
+			 */
1479
+			protected $writeResult;
1480
+
1481
+			/**
1482
+			 * @return WriteResult for the failed write operation
1483
+			 * @since 1.0.0
1484
+			 */
1485
+			final public function getWriteResult() {}
1486
+		}
1487
+
1488
+		class WriteConcernException extends RuntimeException implements Exception {}
1489
+
1490
+		/**
1491
+		 * Thrown when the driver encounters an unexpected value (e.g. during BSON serialization or deserialization).
1492
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-unexpectedvalueexception.php
1493
+		 * @since 1.0.0
1494
+		 */
1495
+		class UnexpectedValueException extends \UnexpectedValueException implements Exception {}
1496
+
1497
+		/**
1498
+		 * Thrown when a bulk write operation fails.
1499
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-bulkwriteexception.php
1500
+		 * @since 1.0.0
1501
+		 */
1502
+		class BulkWriteException extends WriteException implements Exception {}
1503
+
1504
+		/**
1505
+		 * Thrown when the driver fails to establish a database connection within a specified time limit (e.g. connectTimeoutMS).
1506
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-connectiontimeoutexception.php
1507
+		 */
1508
+		class ConnectionTimeoutException extends ConnectionException implements Exception {}
1509
+
1510
+		/**
1511
+		 * Thrown when a query or command fails to complete within a specified time limit (e.g. maxTimeMS).
1512
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-executiontimeoutexception.php
1513
+		 */
1514
+		class ExecutionTimeoutException extends ServerException implements Exception {}
1515
+
1516
+		/**
1517
+		 * Thrown when the driver is incorrectly used (e.g. rewinding a cursor).
1518
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-logicexception.php
1519
+		 */
1520
+		class LogicException extends \LogicException implements Exception {}
1521
+
1522
+		/**
1523
+		 * Thrown when the driver fails to establish an SSL connection with the server.
1524
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-sslconnectionexception.php
1525
+		 */
1526
+		class SSLConnectionException extends ConnectionException implements Exception {}
1527
+
1528
+		/**
1529
+		 * Base class for exceptions thrown during client-side encryption.
1530
+		 * @link https://php.net/manual/en/class.mongodb-driver-exception-encryptionexception.php
1531
+		 * @since 1.7.0
1532
+		 */
1533
+		class EncryptionException extends RuntimeException implements Exception {}
1534
+	}
1535 1535
 
1536 1536
 /**
1537 1537
  * @link https://secure.php.net/manual/en/mongodb.monitoring.php
1538 1538
  */
1539 1539
 
1540 1540
 namespace MongoDB\Driver\Monitoring {
1541
-        /**
1542
-         * Registers a new monitoring event subscriber with the driver.
1543
-         * Registered subscribers will be notified of monitoring events through specific methods.
1544
-         * Note: If the object is already registered, this function is a no-op.
1545
-         * @link https://secure.php.net/manual/en/function.mongodb.driver.monitoring.addsubscriber.php
1546
-         * @param Subscriber $subscriber A monitoring event subscriber object to register.
1547
-         * @return void
1548
-         * @throws \InvalidArgumentException on argument parsing errors.
1549
-         * @since 1.3.0
1550
-         */
1551
-        function addSubscriber(Subscriber $subscriber) {}
1552
-
1553
-        /**
1554
-         * Unregisters an existing monitoring event subscriber from the driver.
1555
-         * Unregistered subscribers will no longer be notified of monitoring events.
1556
-         * Note: If the object is not registered, this function is a no-op.
1557
-         * @link https://secure.php.net/manual/en/function.mongodb.driver.monitoring.removesubscriber.php
1558
-         * @param Subscriber $subscriber A monitoring event subscriber object to register.
1559
-         * @throws \InvalidArgumentException on argument parsing errors.
1560
-         * @since 1.3.0
1561
-         */
1562
-        function removeSubscriber(Subscriber $subscriber) {}
1563
-
1564
-        /**
1565
-         * Base interface for event subscribers.
1566
-         * This is used for type-hinting MongoDB\Driver\Monitoring\addSubscriber() and MongoDB\Driver\Monitoring\removeSubscriber() and should not be implemented directly.
1567
-         * This interface has no methods. Its only purpose is to be the base interface for all event subscribers.
1568
-         * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-subscriber.php
1569
-         * @since 1.3.0
1570
-         */
1571
-        interface Subscriber {}
1572
-
1573
-        /**
1574
-         * Classes may implement this interface to register an event subscriber that is notified for each started, successful, and failed command event.
1575
-         * @see https://secure.php.net/manual/en/mongodb.tutorial.apm.php
1576
-         * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandsubscriber.php
1577
-         * @since 1.3.0
1578
-         */
1579
-        interface CommandSubscriber extends Subscriber
1580
-        {
1581
-            /**
1582
-             * Notification method for a failed command.
1583
-             * If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has failed.
1584
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsubscriber.commandfailed.php
1585
-             * @param CommandFailedEvent $event An event object encapsulating information about the failed command.
1586
-             * @return void
1587
-             * @throws \InvalidArgumentException on argument parsing errors.
1588
-             * @since 1.3.0
1589
-             */
1590
-            public function commandFailed(CommandFailedEvent $event);
1591
-
1592
-            /**
1593
-             * Notification method for a started command.
1594
-             * If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has started.
1595
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsubscriber.commandstarted.php
1596
-             * @param CommandStartedEvent $event An event object encapsulating information about the started command.
1597
-             * @return void
1598
-             * @throws \InvalidArgumentException on argument parsing errors.
1599
-             * @since 1.3.0
1600
-             */
1601
-            public function commandStarted(CommandStartedEvent $event);
1602
-
1603
-            /**
1604
-             * Notification method for a successful command.
1605
-             * If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has succeeded.
1606
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsubscriber.commandsucceeded.php
1607
-             * @param CommandSucceededEvent $event An event object encapsulating information about the successful command.
1608
-             * @return void
1609
-             * @throws \InvalidArgumentException on argument parsing errors.
1610
-             * @since 1.3.0
1611
-             */
1612
-            public function commandSucceeded(CommandSucceededEvent $event);
1613
-        }
1614
-
1615
-        /**
1616
-         * Encapsulates information about a successful command.
1617
-         * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandsucceededevent.php
1618
-         * @since 1.3.0
1619
-         */
1620
-        class CommandSucceededEvent
1621
-        {
1622
-            final private function __construct() {}
1623
-
1624
-            final public function __wakeup() {}
1625
-
1626
-            /**
1627
-             * Returns the command name.
1628
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getcommandname.php
1629
-             * @return string The command name (e.g. "find", "aggregate").
1630
-             * @throws \InvalidArgumentException on argument parsing errors.
1631
-             * @since 1.3.0
1632
-             */
1633
-            final public function getCommandName() {}
1634
-
1635
-            /**
1636
-             * Returns the command's duration in microseconds
1637
-             * The command's duration is a calculated value that includes the time to send the message and receive the reply from the server.
1638
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getdurationmicros.php
1639
-             * @return int the command's duration in microseconds.
1640
-             * @throws \InvalidArgumentException on argument parsing errors.
1641
-             * @since 1.3.0
1642
-             */
1643
-            final public function getDurationMicros() {}
1644
-
1645
-            /**
1646
-             * Returns the command's operation ID.
1647
-             * The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.
1648
-             * Note: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() should be used instead.
1649
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getoperationid.php
1650
-             * @return string the command's operation ID.
1651
-             * @throws \InvalidArgumentException on argument parsing errors.
1652
-             * @since 1.3.0
1653
-             */
1654
-            final public function getOperationId() {}
1655
-
1656
-            /**
1657
-             * Returns the command reply document.
1658
-             * The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).
1659
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getreply.php
1660
-             * @return object the command reply document as a stdClass object.
1661
-             * @throws \InvalidArgumentException on argument parsing errors.
1662
-             * @since 1.3.0
1663
-             */
1664
-            final public function getReply() {}
1665
-
1666
-            /**
1667
-             * Returns the command's request ID.
1668
-             * The request ID is generated by the driver and may be used to associate this CommandSucceededEvent with a previous CommandStartedEvent.
1669
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getrequestid.php
1670
-             * @return string the command's request ID.
1671
-             * @throws \InvalidArgumentException on argument parsing errors.
1672
-             * @since 1.3.0
1673
-             */
1674
-            final public function getRequestId() {}
1675
-
1676
-            /**
1677
-             * Returns the Server on which the command was executed.
1678
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getserver.php
1679
-             * @return \MongoDB\Driver\Server on which the command was executed.
1680
-             * @since 1.3.0
1681
-             */
1682
-            final public function getServer() {}
1683
-        }
1684
-
1685
-        /**
1686
-         * Encapsulates information about a failed command.
1687
-         * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandfailedevent.php
1688
-         * @since 1.3.0
1689
-         */
1690
-        class CommandFailedEvent
1691
-        {
1692
-            final private function __construct() {}
1693
-
1694
-            final public function __wakeup() {}
1695
-
1696
-            /**
1697
-             * Returns the command name.
1698
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getcommandname.php
1699
-             * @return string The command name (e.g. "find", "aggregate").
1700
-             * @throws \InvalidArgumentException on argument parsing errors.
1701
-             * @since 1.3.0
1702
-             */
1703
-            final public function getCommandName() {}
1704
-
1705
-            /**
1706
-             * Returns the command's duration in microseconds
1707
-             * The command's duration is a calculated value that includes the time to send the message and receive the reply from the server.
1708
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getdurationmicros.php
1709
-             * @return int the command's duration in microseconds.
1710
-             * @throws \InvalidArgumentException on argument parsing errors.
1711
-             * @since 1.3.0
1712
-             */
1713
-            final public function getDurationMicros() {}
1714
-
1715
-            /**
1716
-             * Returns the Exception associated with the failed command
1717
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.geterror.php
1718
-             * @return \Exception
1719
-             * @throws \InvalidArgumentException on argument parsing errors.
1720
-             * @since 1.3.0
1721
-             */
1722
-            final public function getError() {}
1723
-
1724
-            /**
1725
-             * Returns the command's operation ID.
1726
-             * The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.
1727
-             * Note: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() should be used instead.
1728
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getoperationid.php
1729
-             * @return string the command's operation ID.
1730
-             * @throws \InvalidArgumentException on argument parsing errors.
1731
-             * @since 1.3.0
1732
-             */
1733
-            final public function getOperationId() {}
1734
-
1735
-            /**
1736
-             * Returns the command reply document.
1737
-             * The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).
1738
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getreply.php
1739
-             * @return object the command reply document as a stdClass object.
1740
-             * @throws \InvalidArgumentException on argument parsing errors.
1741
-             * @since 1.3.0
1742
-             */
1743
-            final public function getReply() {}
1744
-
1745
-            /**
1746
-             * Returns the command's request ID.
1747
-             * The request ID is generated by the driver and may be used to associate this CommandSucceededEvent with a previous CommandStartedEvent.
1748
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getrequestid.php
1749
-             * @return string the command's request ID.
1750
-             * @throws \InvalidArgumentException on argument parsing errors.
1751
-             * @since 1.3.0
1752
-             */
1753
-            final public function getRequestId() {}
1754
-
1755
-            /**
1756
-             * Returns the Server on which the command was executed.
1757
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getserver.php
1758
-             * @return \MongoDB\Driver\Server on which the command was executed.
1759
-             * @since 1.3.0
1760
-             */
1761
-            final public function getServer() {}
1762
-        }
1763
-
1764
-        /**
1765
-         * Encapsulates information about a failed command.
1766
-         * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandstartedevent.php
1767
-         * @since 1.3.0
1768
-         */
1769
-        class CommandStartedEvent
1770
-        {
1771
-            final private function __construct() {}
1772
-
1773
-            final public function __wakeup() {}
1774
-
1775
-            /**
1776
-             * Returns the command document
1777
-             * The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).
1778
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getcommand.php
1779
-             * @return object the command document as a stdClass object.
1780
-             * @throws \InvalidArgumentException on argument parsing errors.
1781
-             * @since 1.3.0
1782
-             */
1783
-            final public function getCommand() {}
1784
-
1785
-            /**
1786
-             * Returns the command name.
1787
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getcommandname.php
1788
-             * @return string The command name (e.g. "find", "aggregate").
1789
-             * @throws \InvalidArgumentException on argument parsing errors.
1790
-             * @since 1.3.0
1791
-             */
1792
-            final public function getCommandName() {}
1793
-
1794
-            /**
1795
-             * Returns the database on which the command was executed.
1796
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getdatabasename.php
1797
-             * @return string the database on which the command was executed.
1798
-             * @throws \InvalidArgumentException on argument parsing errors.
1799
-             * @since 1.3.0
1800
-             */
1801
-            final public function getDatabaseName() {}
1802
-
1803
-            /**
1804
-             * Returns the command's operation ID.
1805
-             * The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.
1806
-             * Note: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() should be used instead.
1807
-             * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getoperationid.php
1808
-             * @return string the command's operation ID.
1809
-             * @throws \InvalidArgumentException on argument parsing errors.
1810
-             * @since 1.3.0
1811
-             */
1812
-            final public function getOperationId() {}
1813
-
1814
-            /**
1815
-             * Returns the command's request ID.
1816
-             * The request ID is generated by the driver and may be used to associate this CommandSucceededEvent with a previous CommandStartedEvent.
1817
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getrequestid.php
1818
-             * @return string the command's request ID.
1819
-             * @throws \InvalidArgumentException on argument parsing errors.
1820
-             * @since 1.3.0
1821
-             */
1822
-            final public function getRequestId() {}
1823
-
1824
-            /**
1825
-             * Returns the Server on which the command was executed.
1826
-             * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getserver.php
1827
-             * @return \MongoDB\Driver\Server on which the command was executed.
1828
-             * @since 1.3.0
1829
-             */
1830
-            final public function getServer() {}
1831
-        }
1832
-    }
1541
+		/**
1542
+		 * Registers a new monitoring event subscriber with the driver.
1543
+		 * Registered subscribers will be notified of monitoring events through specific methods.
1544
+		 * Note: If the object is already registered, this function is a no-op.
1545
+		 * @link https://secure.php.net/manual/en/function.mongodb.driver.monitoring.addsubscriber.php
1546
+		 * @param Subscriber $subscriber A monitoring event subscriber object to register.
1547
+		 * @return void
1548
+		 * @throws \InvalidArgumentException on argument parsing errors.
1549
+		 * @since 1.3.0
1550
+		 */
1551
+		function addSubscriber(Subscriber $subscriber) {}
1552
+
1553
+		/**
1554
+		 * Unregisters an existing monitoring event subscriber from the driver.
1555
+		 * Unregistered subscribers will no longer be notified of monitoring events.
1556
+		 * Note: If the object is not registered, this function is a no-op.
1557
+		 * @link https://secure.php.net/manual/en/function.mongodb.driver.monitoring.removesubscriber.php
1558
+		 * @param Subscriber $subscriber A monitoring event subscriber object to register.
1559
+		 * @throws \InvalidArgumentException on argument parsing errors.
1560
+		 * @since 1.3.0
1561
+		 */
1562
+		function removeSubscriber(Subscriber $subscriber) {}
1563
+
1564
+		/**
1565
+		 * Base interface for event subscribers.
1566
+		 * This is used for type-hinting MongoDB\Driver\Monitoring\addSubscriber() and MongoDB\Driver\Monitoring\removeSubscriber() and should not be implemented directly.
1567
+		 * This interface has no methods. Its only purpose is to be the base interface for all event subscribers.
1568
+		 * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-subscriber.php
1569
+		 * @since 1.3.0
1570
+		 */
1571
+		interface Subscriber {}
1572
+
1573
+		/**
1574
+		 * Classes may implement this interface to register an event subscriber that is notified for each started, successful, and failed command event.
1575
+		 * @see https://secure.php.net/manual/en/mongodb.tutorial.apm.php
1576
+		 * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandsubscriber.php
1577
+		 * @since 1.3.0
1578
+		 */
1579
+		interface CommandSubscriber extends Subscriber
1580
+		{
1581
+			/**
1582
+			 * Notification method for a failed command.
1583
+			 * If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has failed.
1584
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsubscriber.commandfailed.php
1585
+			 * @param CommandFailedEvent $event An event object encapsulating information about the failed command.
1586
+			 * @return void
1587
+			 * @throws \InvalidArgumentException on argument parsing errors.
1588
+			 * @since 1.3.0
1589
+			 */
1590
+			public function commandFailed(CommandFailedEvent $event);
1591
+
1592
+			/**
1593
+			 * Notification method for a started command.
1594
+			 * If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has started.
1595
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsubscriber.commandstarted.php
1596
+			 * @param CommandStartedEvent $event An event object encapsulating information about the started command.
1597
+			 * @return void
1598
+			 * @throws \InvalidArgumentException on argument parsing errors.
1599
+			 * @since 1.3.0
1600
+			 */
1601
+			public function commandStarted(CommandStartedEvent $event);
1602
+
1603
+			/**
1604
+			 * Notification method for a successful command.
1605
+			 * If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has succeeded.
1606
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsubscriber.commandsucceeded.php
1607
+			 * @param CommandSucceededEvent $event An event object encapsulating information about the successful command.
1608
+			 * @return void
1609
+			 * @throws \InvalidArgumentException on argument parsing errors.
1610
+			 * @since 1.3.0
1611
+			 */
1612
+			public function commandSucceeded(CommandSucceededEvent $event);
1613
+		}
1614
+
1615
+		/**
1616
+		 * Encapsulates information about a successful command.
1617
+		 * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandsucceededevent.php
1618
+		 * @since 1.3.0
1619
+		 */
1620
+		class CommandSucceededEvent
1621
+		{
1622
+			final private function __construct() {}
1623
+
1624
+			final public function __wakeup() {}
1625
+
1626
+			/**
1627
+			 * Returns the command name.
1628
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getcommandname.php
1629
+			 * @return string The command name (e.g. "find", "aggregate").
1630
+			 * @throws \InvalidArgumentException on argument parsing errors.
1631
+			 * @since 1.3.0
1632
+			 */
1633
+			final public function getCommandName() {}
1634
+
1635
+			/**
1636
+			 * Returns the command's duration in microseconds
1637
+			 * The command's duration is a calculated value that includes the time to send the message and receive the reply from the server.
1638
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getdurationmicros.php
1639
+			 * @return int the command's duration in microseconds.
1640
+			 * @throws \InvalidArgumentException on argument parsing errors.
1641
+			 * @since 1.3.0
1642
+			 */
1643
+			final public function getDurationMicros() {}
1644
+
1645
+			/**
1646
+			 * Returns the command's operation ID.
1647
+			 * The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.
1648
+			 * Note: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() should be used instead.
1649
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getoperationid.php
1650
+			 * @return string the command's operation ID.
1651
+			 * @throws \InvalidArgumentException on argument parsing errors.
1652
+			 * @since 1.3.0
1653
+			 */
1654
+			final public function getOperationId() {}
1655
+
1656
+			/**
1657
+			 * Returns the command reply document.
1658
+			 * The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).
1659
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getreply.php
1660
+			 * @return object the command reply document as a stdClass object.
1661
+			 * @throws \InvalidArgumentException on argument parsing errors.
1662
+			 * @since 1.3.0
1663
+			 */
1664
+			final public function getReply() {}
1665
+
1666
+			/**
1667
+			 * Returns the command's request ID.
1668
+			 * The request ID is generated by the driver and may be used to associate this CommandSucceededEvent with a previous CommandStartedEvent.
1669
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getrequestid.php
1670
+			 * @return string the command's request ID.
1671
+			 * @throws \InvalidArgumentException on argument parsing errors.
1672
+			 * @since 1.3.0
1673
+			 */
1674
+			final public function getRequestId() {}
1675
+
1676
+			/**
1677
+			 * Returns the Server on which the command was executed.
1678
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandsucceededevent.getserver.php
1679
+			 * @return \MongoDB\Driver\Server on which the command was executed.
1680
+			 * @since 1.3.0
1681
+			 */
1682
+			final public function getServer() {}
1683
+		}
1684
+
1685
+		/**
1686
+		 * Encapsulates information about a failed command.
1687
+		 * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandfailedevent.php
1688
+		 * @since 1.3.0
1689
+		 */
1690
+		class CommandFailedEvent
1691
+		{
1692
+			final private function __construct() {}
1693
+
1694
+			final public function __wakeup() {}
1695
+
1696
+			/**
1697
+			 * Returns the command name.
1698
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getcommandname.php
1699
+			 * @return string The command name (e.g. "find", "aggregate").
1700
+			 * @throws \InvalidArgumentException on argument parsing errors.
1701
+			 * @since 1.3.0
1702
+			 */
1703
+			final public function getCommandName() {}
1704
+
1705
+			/**
1706
+			 * Returns the command's duration in microseconds
1707
+			 * The command's duration is a calculated value that includes the time to send the message and receive the reply from the server.
1708
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getdurationmicros.php
1709
+			 * @return int the command's duration in microseconds.
1710
+			 * @throws \InvalidArgumentException on argument parsing errors.
1711
+			 * @since 1.3.0
1712
+			 */
1713
+			final public function getDurationMicros() {}
1714
+
1715
+			/**
1716
+			 * Returns the Exception associated with the failed command
1717
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.geterror.php
1718
+			 * @return \Exception
1719
+			 * @throws \InvalidArgumentException on argument parsing errors.
1720
+			 * @since 1.3.0
1721
+			 */
1722
+			final public function getError() {}
1723
+
1724
+			/**
1725
+			 * Returns the command's operation ID.
1726
+			 * The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.
1727
+			 * Note: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() should be used instead.
1728
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getoperationid.php
1729
+			 * @return string the command's operation ID.
1730
+			 * @throws \InvalidArgumentException on argument parsing errors.
1731
+			 * @since 1.3.0
1732
+			 */
1733
+			final public function getOperationId() {}
1734
+
1735
+			/**
1736
+			 * Returns the command reply document.
1737
+			 * The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).
1738
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getreply.php
1739
+			 * @return object the command reply document as a stdClass object.
1740
+			 * @throws \InvalidArgumentException on argument parsing errors.
1741
+			 * @since 1.3.0
1742
+			 */
1743
+			final public function getReply() {}
1744
+
1745
+			/**
1746
+			 * Returns the command's request ID.
1747
+			 * The request ID is generated by the driver and may be used to associate this CommandSucceededEvent with a previous CommandStartedEvent.
1748
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getrequestid.php
1749
+			 * @return string the command's request ID.
1750
+			 * @throws \InvalidArgumentException on argument parsing errors.
1751
+			 * @since 1.3.0
1752
+			 */
1753
+			final public function getRequestId() {}
1754
+
1755
+			/**
1756
+			 * Returns the Server on which the command was executed.
1757
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandfailedevent.getserver.php
1758
+			 * @return \MongoDB\Driver\Server on which the command was executed.
1759
+			 * @since 1.3.0
1760
+			 */
1761
+			final public function getServer() {}
1762
+		}
1763
+
1764
+		/**
1765
+		 * Encapsulates information about a failed command.
1766
+		 * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandstartedevent.php
1767
+		 * @since 1.3.0
1768
+		 */
1769
+		class CommandStartedEvent
1770
+		{
1771
+			final private function __construct() {}
1772
+
1773
+			final public function __wakeup() {}
1774
+
1775
+			/**
1776
+			 * Returns the command document
1777
+			 * The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).
1778
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getcommand.php
1779
+			 * @return object the command document as a stdClass object.
1780
+			 * @throws \InvalidArgumentException on argument parsing errors.
1781
+			 * @since 1.3.0
1782
+			 */
1783
+			final public function getCommand() {}
1784
+
1785
+			/**
1786
+			 * Returns the command name.
1787
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getcommandname.php
1788
+			 * @return string The command name (e.g. "find", "aggregate").
1789
+			 * @throws \InvalidArgumentException on argument parsing errors.
1790
+			 * @since 1.3.0
1791
+			 */
1792
+			final public function getCommandName() {}
1793
+
1794
+			/**
1795
+			 * Returns the database on which the command was executed.
1796
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getdatabasename.php
1797
+			 * @return string the database on which the command was executed.
1798
+			 * @throws \InvalidArgumentException on argument parsing errors.
1799
+			 * @since 1.3.0
1800
+			 */
1801
+			final public function getDatabaseName() {}
1802
+
1803
+			/**
1804
+			 * Returns the command's operation ID.
1805
+			 * The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.
1806
+			 * Note: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() should be used instead.
1807
+			 * @link   https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getoperationid.php
1808
+			 * @return string the command's operation ID.
1809
+			 * @throws \InvalidArgumentException on argument parsing errors.
1810
+			 * @since 1.3.0
1811
+			 */
1812
+			final public function getOperationId() {}
1813
+
1814
+			/**
1815
+			 * Returns the command's request ID.
1816
+			 * The request ID is generated by the driver and may be used to associate this CommandSucceededEvent with a previous CommandStartedEvent.
1817
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getrequestid.php
1818
+			 * @return string the command's request ID.
1819
+			 * @throws \InvalidArgumentException on argument parsing errors.
1820
+			 * @since 1.3.0
1821
+			 */
1822
+			final public function getRequestId() {}
1823
+
1824
+			/**
1825
+			 * Returns the Server on which the command was executed.
1826
+			 * @link https://secure.php.net/manual/en/mongodb-driver-monitoring-commandstartedevent.getserver.php
1827
+			 * @return \MongoDB\Driver\Server on which the command was executed.
1828
+			 * @since 1.3.0
1829
+			 */
1830
+			final public function getServer() {}
1831
+		}
1832
+	}
1833 1833
 
1834 1834
 /**
1835 1835
  * @link https://php.net/manual/en/book.bson.php
1836 1836
  */
1837 1837
 
1838 1838
 namespace MongoDB\BSON {
1839
-    use DateTime;
1840
-    use DateTimeInterface;
1841
-    use JetBrains\PhpStorm\Deprecated;
1842
-    use JsonSerializable;
1843
-    use MongoDB\Driver\Exception\InvalidArgumentException;
1844
-    use MongoDB\Driver\Exception\UnexpectedValueException;
1845
-
1846
-        /**
1847
-         * Converts a BSON string to its Canonical Extended JSON representation.
1848
-         * The canonical format prefers type fidelity at the expense of concise output and is most suited for producing
1849
-         * output that can be converted back to BSON without any loss of type information
1850
-         * (e.g. numeric types will remain differentiated).
1851
-         * @link https://www.php.net/manual/en/function.mongodb.bson-tocanonicalextendedjson.php
1852
-         * @param string $bson BSON value to be converted
1853
-         * @return string The converted JSON value
1854
-         * @throws UnexpectedValueException
1855
-         */
1856
-        function toCanonicalExtendedJSON($bson) {}
1857
-
1858
-        /**
1859
-         * Converts a BSON string to its » Relaxed Extended JSON representation.
1860
-         * The relaxed format prefers use of JSON type primitives at the expense of type fidelity and is most suited for
1861
-         * producing output that can be easily consumed by web APIs and humans.
1862
-         * @link https://www.php.net/manual/en/function.mongodb.bson-torelaxedextendedjson.php
1863
-         * @param string $bson BSON value to be converted
1864
-         * @return string The converted JSON value
1865
-         * @throws UnexpectedValueException
1866
-         */
1867
-        function toRelaxedExtendedJSON($bson) {}
1868
-
1869
-        /**
1870
-         * Returns the BSON representation of a JSON value
1871
-         * Converts an extended JSON string to its BSON representation.
1872
-         * @link https://php.net/manual/en/function.mongodb.bson-fromjson.php
1873
-         * @param string $json JSON value to be converted.
1874
-         * @return string The serialized BSON document as a binary string.
1875
-         * @throws UnexpectedValueException if the JSON value cannot be converted to BSON (e.g. due to a syntax error).
1876
-         */
1877
-        function fromJSON($json) {}
1878
-
1879
-        /**
1880
-         * Returns the BSON representation of a PHP value
1881
-         * Serializes a PHP array or object (e.g. document) to its BSON representation. The returned binary string will describe a BSON document.
1882
-         * @link https://php.net/manual/en/function.mongodb.bson-fromphp.php
1883
-         * @param array|object $value PHP value to be serialized.
1884
-         * @return string The serialized BSON document as a binary string
1885
-         * @throws UnexpectedValueException if the PHP value cannot be converted to BSON.
1886
-         */
1887
-        function fromPHP($value) {}
1888
-
1889
-        /**
1890
-         * Returns the JSON representation of a BSON value
1891
-         * Converts a BSON string to its extended JSON representation.
1892
-         * @link https://php.net/manual/en/function.mongodb.bson-tojson.php
1893
-         * @param string $bson BSON value to be converted
1894
-         * @return string The converted JSON value.
1895
-         * @see https://docs.mongodb.org/manual/reference/mongodb-extended-json/
1896
-         * @throws UnexpectedValueException if the input did not contain exactly one BSON document
1897
-         */
1898
-        function toJSON($bson) {}
1899
-
1900
-        /**
1901
-         * Returns the PHP representation of a BSON value
1902
-         * Unserializes a BSON document (i.e. binary string) to its PHP representation.
1903
-         * The typeMap parameter may be used to control the PHP types used for converting BSON arrays and documents (both root and embedded).
1904
-         * @link https://php.net/manual/en/function.mongodb.bson-tophp.php
1905
-         * @param string $bson BSON value to be unserialized.
1906
-         * @param array $typemap
1907
-         * @return object The unserialized PHP value
1908
-         * @throws UnexpectedValueException if the input did not contain exactly one BSON document.
1909
-         * @throws InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.
1910
-         */
1911
-        function toPHP($bson, array $typemap = []) {}
1912
-
1913
-        /**
1914
-         * Class Binary
1915
-         * @link https://php.net/manual/en/class.mongodb-bson-binary.php
1916
-         */
1917
-        final class Binary implements Type, BinaryInterface, \Serializable, JsonSerializable
1918
-        {
1919
-            public const TYPE_GENERIC = 0;
1920
-            public const TYPE_FUNCTION = 1;
1921
-            public const TYPE_OLD_BINARY = 2;
1922
-            public const TYPE_OLD_UUID = 3;
1923
-            public const TYPE_UUID = 4;
1924
-            public const TYPE_MD5 = 5;
1925
-            /**
1926
-             * @since 1.7.0
1927
-             */
1928
-            public const TYPE_ENCRYPTED = 6;
1929
-            public const TYPE_USER_DEFINED = 128;
1930
-
1931
-            /**
1932
-             * Binary constructor.
1933
-             * @link https://php.net/manual/en/mongodb-bson-binary.construct.php
1934
-             * @param string $data
1935
-             * @param int $type
1936
-             */
1937
-            final public function __construct($data, $type) {}
1938
-
1939
-            /**
1940
-             * Returns the Binary's data
1941
-             * @link https://php.net/manual/en/mongodb-bson-binary.getdata.php
1942
-             * @return string
1943
-             */
1944
-            final public function getData() {}
1945
-
1946
-            /**
1947
-             * Returns the Binary's type
1948
-             * @link https://php.net/manual/en/mongodb-bson-binary.gettype.php
1949
-             * @return int
1950
-             */
1951
-            final public function getType() {}
1952
-
1953
-            public static function __set_state(array $properties) {}
1954
-
1955
-            /**
1956
-             * Returns the Binary's data
1957
-             * @link https://www.php.net/manual/en/mongodb-bson-binary.tostring.php
1958
-             * @return string
1959
-             */
1960
-            final public function __toString() {}
1961
-
1962
-            /**
1963
-             * Serialize a Binary
1964
-             * @since 1.2.0
1965
-             * @link https://www.php.net/manual/en/mongodb-bson-binary.serialize.php
1966
-             * @return string
1967
-             * @throws InvalidArgumentException
1968
-             */
1969
-            final public function serialize() {}
1970
-
1971
-            /**
1972
-             * Unserialize a Binary
1973
-             * @since 1.2.0
1974
-             * @link https://www.php.net/manual/en/mongodb-bson-binary.unserialize.php
1975
-             * @param string $serialized
1976
-             * @return void
1977
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
1978
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
1979
-             */
1980
-            final public function unserialize($serialized) {}
1981
-
1982
-            /**
1983
-             * Returns a representation that can be converted to JSON
1984
-             * @since 1.2.0
1985
-             * @link https://www.php.net/manual/en/mongodb-bson-binary.jsonserialize.php
1986
-             * @return mixed data which can be serialized by json_encode()
1987
-             * @throws InvalidArgumentException on argument parsing errors
1988
-             */
1989
-            final public function jsonSerialize() {}
1990
-        }
1991
-
1992
-        /**
1993
-         * BSON type for the Decimal128 floating-point format, which supports numbers with up to 34 decimal digits (i.e. significant digits) and an exponent range of −6143 to +6144.
1994
-         * @link https://php.net/manual/en/class.mongodb-bson-decimal128.php
1995
-         */
1996
-        final class Decimal128 implements Type, Decimal128Interface, \Serializable, JsonSerializable
1997
-        {
1998
-            /**
1999
-             * Construct a new Decimal128
2000
-             * @link https://php.net/manual/en/mongodb-bson-decimal128.construct.php
2001
-             * @param string $value A decimal string.
2002
-             */
2003
-            final public function __construct($value = '') {}
2004
-
2005
-            /**
2006
-             * Returns the string representation of this Decimal128
2007
-             * @link https://php.net/manual/en/mongodb-bson-decimal128.tostring.php
2008
-             * @return string
2009
-             */
2010
-            final public function __toString() {}
2011
-
2012
-            public static function __set_state(array $properties) {}
2013
-
2014
-            /**
2015
-             * Serialize a Decimal128
2016
-             * @since 1.2.0
2017
-             * @link https://www.php.net/manual/en/mongodb-bson-decimal128.serialize.php
2018
-             * @return string
2019
-             * @throws InvalidArgumentException
2020
-             */
2021
-            final public function serialize() {}
2022
-
2023
-            /**
2024
-             * Unserialize a Decimal128
2025
-             * @since 1.2.0
2026
-             * @link https://www.php.net/manual/en/mongodb-bson-decimal128.unserialize.php
2027
-             * @param string $serialized
2028
-             * @return void
2029
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2030
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2031
-             */
2032
-            final public function unserialize($serialized) {}
2033
-
2034
-            /**
2035
-             * Returns a representation that can be converted to JSON
2036
-             * @since 1.2.0
2037
-             * @link https://www.php.net/manual/en/mongodb-bson-decimal128.jsonserialize.php
2038
-             * @return mixed data which can be serialized by json_encode()
2039
-             * @throws InvalidArgumentException on argument parsing errors
2040
-             */
2041
-            final public function jsonSerialize() {}
2042
-        }
2043
-
2044
-        /**
2045
-         * Class Javascript
2046
-         * @link https://php.net/manual/en/class.mongodb-bson-javascript.php
2047
-         */
2048
-        final class Javascript implements Type, JavascriptInterface, \Serializable, JsonSerializable
2049
-        {
2050
-            /**
2051
-             * Construct a new Javascript
2052
-             * @link https://php.net/manual/en/mongodb-bson-javascript.construct.php
2053
-             * @param string $javascript
2054
-             * @param array|object $scope
2055
-             */
2056
-            final public function __construct($javascript, $scope = []) {}
2057
-
2058
-            public static function __set_state(array $properties) {}
2059
-
2060
-            /**
2061
-             * Returns the Javascript's code
2062
-             * @return string
2063
-             * @link https://secure.php.net/manual/en/mongodb-bson-javascript.getcode.php
2064
-             */
2065
-            final public function getCode() {}
2066
-
2067
-            /**
2068
-             * Returns the Javascript's scope document
2069
-             * @return object|null
2070
-             * @link https://secure.php.net/manual/en/mongodb-bson-javascript.getscope.php
2071
-             */
2072
-            final public function getScope() {}
2073
-
2074
-            /**
2075
-             * Returns the Javascript's code
2076
-             * @return string
2077
-             * @link https://secure.php.net/manual/en/mongodb-bson-javascript.tostring.php
2078
-             */
2079
-            final public function __toString() {}
2080
-
2081
-            /**
2082
-             * Serialize a Javascript
2083
-             * @since 1.2.0
2084
-             * @link https://www.php.net/manual/en/mongodb-bson-javascript.serialize.php
2085
-             * @return string
2086
-             * @throws InvalidArgumentException
2087
-             */
2088
-            final public function serialize() {}
2089
-
2090
-            /**
2091
-             * Unserialize a Javascript
2092
-             * @since 1.2.0
2093
-             * @link https://www.php.net/manual/en/mongodb-bson-javascript.unserialize.php
2094
-             * @param string $serialized
2095
-             * @return void
2096
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2097
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2098
-             */
2099
-            final public function unserialize($serialized) {}
2100
-
2101
-            /**
2102
-             * Returns a representation that can be converted to JSON
2103
-             * @since 1.2.0
2104
-             * @link https://www.php.net/manual/en/mongodb-bson-javascript.jsonserialize.php
2105
-             * @return mixed data which can be serialized by json_encode()
2106
-             * @throws InvalidArgumentException on argument parsing errors
2107
-             */
2108
-            final public function jsonSerialize() {}
2109
-        }
2110
-
2111
-        /**
2112
-         * Class MaxKey
2113
-         * @link https://php.net/manual/en/class.mongodb-bson-maxkey.php
2114
-         */
2115
-        final class MaxKey implements Type, MaxKeyInterface, \Serializable, JsonSerializable
2116
-        {
2117
-            public static function __set_state(array $properties) {}
2118
-
2119
-            /**
2120
-             * Serialize a MaxKey
2121
-             * @since 1.2.0
2122
-             * @link https://www.php.net/manual/en/mongodb-bson-maxkey.serialize.php
2123
-             * @return string
2124
-             * @throws InvalidArgumentException
2125
-             */
2126
-            final public function serialize() {}
2127
-
2128
-            /**
2129
-             * Unserialize a MaxKey
2130
-             * @since 1.2.0
2131
-             * @link https://www.php.net/manual/en/mongodb-bson-maxkey.unserialize.php
2132
-             * @param string $serialized
2133
-             * @return void
2134
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2135
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2136
-             */
2137
-            final public function unserialize($serialized) {}
2138
-
2139
-            /**
2140
-             * Returns a representation that can be converted to JSON
2141
-             * @since 1.2.0
2142
-             * @link https://www.php.net/manual/en/mongodb-bson-maxkey.jsonserialize.php
2143
-             * @return mixed data which can be serialized by json_encode()
2144
-             * @throws InvalidArgumentException on argument parsing errors
2145
-             */
2146
-            final public function jsonSerialize() {}
2147
-        }
2148
-
2149
-        /**
2150
-         * Class MinKey
2151
-         * @link https://php.net/manual/en/class.mongodb-bson-minkey.php
2152
-         */
2153
-        final class MinKey implements Type, MinKeyInterface, \Serializable, JsonSerializable
2154
-        {
2155
-            public static function __set_state(array $properties) {}
2156
-
2157
-            /**
2158
-             * Serialize a MinKey
2159
-             * @since 1.2.0
2160
-             * @link https://www.php.net/manual/en/mongodb-bson-minkey.serialize.php
2161
-             * @return string
2162
-             * @throws InvalidArgumentException
2163
-             */
2164
-            final public function serialize() {}
2165
-
2166
-            /**
2167
-             * Unserialize a MinKey
2168
-             * @since 1.2.0
2169
-             * @link https://www.php.net/manual/en/mongodb-bson-minkey.unserialize.php
2170
-             * @param string $serialized
2171
-             * @return void
2172
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2173
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2174
-             */
2175
-            final public function unserialize($serialized) {}
2176
-
2177
-            /**
2178
-             * Returns a representation that can be converted to JSON
2179
-             * @since 1.2.0
2180
-             * @link https://www.php.net/manual/en/mongodb-bson-minkey.jsonserialize.php
2181
-             * @return mixed data which can be serialized by json_encode()
2182
-             * @throws InvalidArgumentException on argument parsing errors
2183
-             */
2184
-            final public function jsonSerialize() {}
2185
-        }
2186
-
2187
-        /**
2188
-         * Class ObjectId
2189
-         * @link https://php.net/manual/en/class.mongodb-bson-objectid.php
2190
-         */
2191
-        final class ObjectId implements Type, ObjectIdInterface, \Serializable, JsonSerializable
2192
-        {
2193
-            /**
2194
-             * Construct a new ObjectId
2195
-             * @link https://php.net/manual/en/mongodb-bson-objectid.construct.php
2196
-             * @param string|null $id A 24-character hexadecimal string. If not provided, the driver will generate an ObjectId.
2197
-             * @throws InvalidArgumentException if id is not a 24-character hexadecimal string.
2198
-             */
2199
-            final public function __construct($id = null) {}
2200
-
2201
-            /**
2202
-             * Returns the hexadecimal representation of this ObjectId
2203
-             * @link https://php.net/manual/en/mongodb-bson-objectid.tostring.php
2204
-             * @return string
2205
-             */
2206
-            final public function __toString() {}
2207
-
2208
-            public static function __set_state(array $properties) {}
2209
-
2210
-            /**
2211
-             * Returns the timestamp component of this ObjectId
2212
-             * @since 1.2.0
2213
-             * @link https://secure.php.net/manual/en/mongodb-bson-objectid.gettimestamp.php
2214
-             * @return int the timestamp component of this ObjectId
2215
-             */
2216
-            final public function getTimestamp() {}
2217
-
2218
-            /**
2219
-             * Returns a representation that can be converted to JSON
2220
-             * @since 1.2.0
2221
-             * @link https://secure.php.net/manual/en/mongodb-bson-objectid.jsonserialize.php
2222
-             * @return mixed data which can be serialized by json_encode()
2223
-             */
2224
-            final public function jsonSerialize() {}
2225
-
2226
-            /**
2227
-             * Serialize an ObjectId
2228
-             * @since 1.2.0
2229
-             * @link https://secure.php.net/manual/en/mongodb-bson-objectid.serialize.php
2230
-             * @return string the serialized representation of the object
2231
-             */
2232
-            final public function serialize() {}
2233
-
2234
-            /**
2235
-             * Unserialize an ObjectId
2236
-             * @since 1.2.0
2237
-             * @link https://secure.php.net/manual/en/mongodb-bson-objectid.unserialize.php
2238
-             * @return void
2239
-             */
2240
-            final public function unserialize($serialized) {}
2241
-        }
2242
-
2243
-        /**
2244
-         * Class Regex
2245
-         * @link https://php.net/manual/en/class.mongodb-bson-regex.php
2246
-         */
2247
-        final class Regex implements Type, RegexInterface, \Serializable, JsonSerializable
2248
-        {
2249
-            /**
2250
-             * Construct a new Regex
2251
-             * @link https://php.net/manual/en/mongodb-bson-regex.construct.php
2252
-             * @param string $pattern
2253
-             * @param string $flags [optional]
2254
-             */
2255
-            final public function __construct($pattern, $flags = "") {}
2256
-
2257
-            /**
2258
-             * Returns the Regex's flags
2259
-             * @link https://php.net/manual/en/mongodb-bson-regex.getflags.php
2260
-             */
2261
-            final public function getFlags() {}
2262
-
2263
-            /**
2264
-             * Returns the Regex's pattern
2265
-             * @link https://php.net/manual/en/mongodb-bson-regex.getpattern.php
2266
-             * @return string
2267
-             */
2268
-            final public function getPattern() {}
2269
-
2270
-            /**
2271
-             * Returns the string representation of this Regex
2272
-             * @link https://php.net/manual/en/mongodb-bson-regex.tostring.php
2273
-             * @return string
2274
-             */
2275
-            final public function __toString() {}
2276
-
2277
-            public static function __set_state(array $properties) {}
2278
-
2279
-            /**
2280
-             * Serialize a Regex
2281
-             * @since 1.2.0
2282
-             * @link https://www.php.net/manual/en/mongodb-bson-regex.serialize.php
2283
-             * @return string
2284
-             * @throws InvalidArgumentException
2285
-             */
2286
-            final public function serialize() {}
2287
-
2288
-            /**
2289
-             * Unserialize a Regex
2290
-             * @since 1.2.0
2291
-             * @link https://www.php.net/manual/en/mongodb-bson-regex.unserialize.php
2292
-             * @param string $serialized
2293
-             * @return void
2294
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2295
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2296
-             */
2297
-            final public function unserialize($serialized) {}
2298
-
2299
-            /**
2300
-             * Returns a representation that can be converted to JSON
2301
-             * @since 1.2.0
2302
-             * @link https://www.php.net/manual/en/mongodb-bson-regex.jsonserialize.php
2303
-             * @return mixed data which can be serialized by json_encode()
2304
-             * @throws InvalidArgumentException on argument parsing errors
2305
-             */
2306
-            final public function jsonSerialize() {}
2307
-        }
2308
-
2309
-        /**
2310
-         * Represents a BSON timestamp, which is an internal MongoDB type not intended for general date storage.
2311
-         * @link https://php.net/manual/en/class.mongodb-bson-timestamp.php
2312
-         */
2313
-        final class Timestamp implements TimestampInterface, Type, \Serializable, JsonSerializable
2314
-        {
2315
-            /**
2316
-             * Construct a new Timestamp
2317
-             * @link https://php.net/manual/en/mongodb-bson-timestamp.construct.php
2318
-             * @param int $increment
2319
-             * @param int $timestamp
2320
-             */
2321
-            final public function __construct($increment, $timestamp) {}
2322
-
2323
-            /**
2324
-             * Returns the string representation of this Timestamp
2325
-             * @link https://php.net/manual/en/mongodb-bson-timestamp.tostring.php
2326
-             * @return string
2327
-             */
2328
-            final public function __toString() {}
2329
-
2330
-            public static function __set_state(array $properties) {}
2331
-
2332
-            /**
2333
-             * Returns the increment component of this TimestampInterface
2334
-             * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.getincrement.php
2335
-             * @return int
2336
-             * @since 1.3.0
2337
-             */
2338
-            final public function getIncrement() {}
2339
-
2340
-            /**
2341
-             * Returns the timestamp component of this TimestampInterface
2342
-             * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.gettimestamp.php
2343
-             * @return int
2344
-             * @since 1.3.0
2345
-             */
2346
-            final public function getTimestamp() {}
2347
-
2348
-            /**
2349
-             * Serialize a Timestamp
2350
-             * @since 1.2.0
2351
-             * @link https://www.php.net/manual/en/mongodb-bson-timestamp.serialize.php
2352
-             * @return string
2353
-             * @throws InvalidArgumentException
2354
-             */
2355
-            final public function serialize() {}
2356
-
2357
-            /**
2358
-             * Unserialize a Timestamp
2359
-             * @since 1.2.0
2360
-             * @link https://www.php.net/manual/en/mongodb-bson-timestamp.unserialize.php
2361
-             * @param string $serialized
2362
-             * @return void
2363
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2364
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2365
-             */
2366
-            final public function unserialize($serialized) {}
2367
-
2368
-            /**
2369
-             * Returns a representation that can be converted to JSON
2370
-             * @since 1.2.0
2371
-             * @link https://www.php.net/manual/en/mongodb-bson-timestamp.jsonserialize.php
2372
-             * @return mixed data which can be serialized by json_encode()
2373
-             * @throws InvalidArgumentException on argument parsing errors
2374
-             */
2375
-            final public function jsonSerialize() {}
2376
-        }
2377
-
2378
-        /**
2379
-         * Represents a BSON date.
2380
-         * @link https://php.net/manual/en/class.mongodb-bson-utcdatetime.php
2381
-         */
2382
-        final class UTCDateTime implements Type, UTCDateTimeInterface, \Serializable, \JsonSerializable
2383
-        {
2384
-            /**
2385
-             * Construct a new UTCDateTime
2386
-             * @link https://php.net/manual/en/mongodb-bson-utcdatetime.construct.php
2387
-             * @param int|float|string|DateTimeInterface $milliseconds
2388
-             */
2389
-            final public function __construct($milliseconds = null) {}
2390
-
2391
-            public static function __set_state(array $properties) {}
2392
-
2393
-            /**
2394
-             * Returns the DateTime representation of this UTCDateTime
2395
-             * @link https://php.net/manual/en/mongodb-bson-utcdatetime.todatetime.php
2396
-             * @return \DateTime
2397
-             */
2398
-            final public function toDateTime() {}
2399
-
2400
-            /**
2401
-             * Returns the string representation of this UTCDateTime
2402
-             * @link https://php.net/manual/en/mongodb-bson-utcdatetime.tostring.php
2403
-             * @return string
2404
-             */
2405
-            final public function __toString() {}
2406
-
2407
-            /**
2408
-             * Serialize a UTCDateTime
2409
-             * @since 1.2.0
2410
-             * @link https://www.php.net/manual/en/mongodb-bson-utcdatetime.serialize.php
2411
-             * @return string
2412
-             * @throws InvalidArgumentException
2413
-             */
2414
-            final public function serialize() {}
2415
-
2416
-            /**
2417
-             * Unserialize a UTCDateTime
2418
-             * @since 1.2.0
2419
-             * @link https://www.php.net/manual/en/mongodb-bson-utcdatetime.unserialize.php
2420
-             * @param string $serialized
2421
-             * @return void
2422
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2423
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2424
-             */
2425
-            final public function unserialize($serialized) {}
2426
-
2427
-            /**
2428
-             * Returns a representation that can be converted to JSON
2429
-             * @since 1.2.0
2430
-             * @link https://www.php.net/manual/en/mongodb-bson-utcdatetime.jsonserialize.php
2431
-             * @return mixed data which can be serialized by json_encode()
2432
-             * @throws InvalidArgumentException on argument parsing errors
2433
-             */
2434
-            final public function jsonSerialize() {}
2435
-        }
2436
-
2437
-        /**
2438
-         * BSON type for the "Undefined" type. This BSON type is deprecated, and this class can not be instantiated. It will be created
2439
-         * from a BSON undefined type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.
2440
-         *
2441
-         * @link https://secure.php.net/manual/en/class.mongodb-bson-undefined.php
2442
-         */
2443
-        #[Deprecated]
2444
-        final class Undefined implements Type, \Serializable, \JsonSerializable
2445
-        {
2446
-            final private function __construct() {}
2447
-
2448
-            /**
2449
-             * Serialize an Undefined
2450
-             * @since 1.2.0
2451
-             * @link https://www.php.net/manual/en/mongodb-bson-undefined.serialize.php
2452
-             * @return string
2453
-             * @throws InvalidArgumentException
2454
-             */
2455
-            final public function serialize() {}
2456
-
2457
-            /**
2458
-             * Unserialize an Undefined
2459
-             * @since 1.2.0
2460
-             * @link https://www.php.net/manual/en/mongodb-bson-undefined.unserialize.php
2461
-             * @param string $serialized
2462
-             * @return void
2463
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2464
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2465
-             */
2466
-            final public function unserialize($serialized) {}
2467
-
2468
-            /**
2469
-             * Returns a representation that can be converted to JSON
2470
-             * @since 1.2.0
2471
-             * @link https://www.php.net/manual/en/mongodb-bson-undefined.jsonserialize.php
2472
-             * @return mixed data which can be serialized by json_encode()
2473
-             * @throws InvalidArgumentException on argument parsing errors
2474
-             */
2475
-            final public function jsonSerialize() {}
2476
-
2477
-            /**
2478
-             * Returns the Undefined as a string
2479
-             * @return string Returns the string representation of this Symbol.
2480
-             */
2481
-            final public function __toString() {}
2482
-        }
2483
-
2484
-        /**
2485
-         * BSON type for the "Symbol" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a
2486
-         * BSON symbol type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.
2487
-         *
2488
-         * @link https://secure.php.net/manual/en/class.mongodb-bson-symbol.php
2489
-         */
2490
-        #[Deprecated]
2491
-        final class Symbol implements Type, \Serializable, \JsonSerializable
2492
-        {
2493
-            final private function __construct() {}
2494
-
2495
-            /**
2496
-             * Serialize a Symbol
2497
-             * @since 1.2.0
2498
-             * @link https://www.php.net/manual/en/mongodb-bson-symbol.serialize.php
2499
-             * @return string
2500
-             * @throws InvalidArgumentException
2501
-             */
2502
-            final public function serialize() {}
2503
-
2504
-            /**
2505
-             * Unserialize a Symbol
2506
-             * @since 1.2.0
2507
-             * @link https://www.php.net/manual/en/mongodb-bson-symbol.unserialize.php
2508
-             * @param string $serialized
2509
-             * @return void
2510
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2511
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2512
-             */
2513
-            final public function unserialize($serialized) {}
2514
-
2515
-            /**
2516
-             * Returns a representation that can be converted to JSON
2517
-             * @since 1.2.0
2518
-             * @link https://www.php.net/manual/en/mongodb-bson-symbol.jsonserialize.php
2519
-             * @return mixed data which can be serialized by json_encode()
2520
-             * @throws InvalidArgumentException on argument parsing errors
2521
-             */
2522
-            final public function jsonSerialize() {}
2523
-
2524
-            /**
2525
-             * Returns the Symbol as a string
2526
-             * @return string Returns the string representation of this Symbol.
2527
-             */
2528
-            final public function __toString() {}
2529
-        }
2530
-
2531
-        /**
2532
-         * BSON type for the "DbPointer" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a
2533
-         * BSON symbol type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.
2534
-         *
2535
-         * @since 1.4.0
2536
-         * @link https://secure.php.net/manual/en/class.mongodb-bson-dbpointer.php
2537
-         */
2538
-        #[Deprecated]
2539
-        final class DBPointer implements Type, \Serializable, \JsonSerializable
2540
-        {
2541
-            final private function __construct() {}
2542
-
2543
-            /**
2544
-             * Serialize a DBPointer
2545
-             *
2546
-             * @link https://www.php.net/manual/en/mongodb-bson-dbpointer.serialize.php
2547
-             * @return string
2548
-             * @throws InvalidArgumentException
2549
-             */
2550
-            final public function serialize() {}
2551
-
2552
-            /**
2553
-             * Unserialize a DBPointer
2554
-             *
2555
-             * @link https://www.php.net/manual/en/mongodb-bson-dbpointer.unserialize.php
2556
-             *
2557
-             * @param string $serialized
2558
-             *
2559
-             * @return void
2560
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2561
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2562
-             */
2563
-            final public function unserialize($serialized) {}
2564
-
2565
-            /**
2566
-             * Returns a representation that can be converted to JSON
2567
-             *
2568
-             * @link https://www.php.net/manual/en/mongodb-bson-dbpointer.jsonserialize.php
2569
-             * @return mixed data which can be serialized by json_encode()
2570
-             * @throws InvalidArgumentException on argument parsing errors
2571
-             */
2572
-            final public function jsonSerialize() {}
2573
-
2574
-            /**
2575
-             * Returns the Symbol as a string
2576
-             *
2577
-             * @return string Returns the string representation of this Symbol.
2578
-             */
2579
-            final public function __toString() {}
2580
-        }
2581
-
2582
-        /**
2583
-         * BSON type for a 64-bit integer. This class cannot be instantiated and is only created during BSON decoding when a 64-bit
2584
-         * integer cannot be represented as a PHP integer on a 32-bit platform. Versions of the driver before 1.5.0 would throw an
2585
-         * exception when attempting to decode a 64-bit integer on a 32-bit platform.
2586
-         * During BSON encoding, objects of this class will convert back to a 64-bit integer type. This allows 64-bit integers to be
2587
-         * roundtripped through a 32-bit PHP environment without any loss of precision. The __toString() method allows the 64-bit integer
2588
-         * value to be accessed as a string.
2589
-         *
2590
-         * @since 1.5.0
2591
-         * @link https://secure.php.net/manual/en/class.mongodb-bson-int64.php
2592
-         */
2593
-        #[Deprecated]
2594
-        final class Int64 implements Type, \Serializable, \JsonSerializable
2595
-        {
2596
-            final private function __construct() {}
2597
-
2598
-            /**
2599
-             * Serialize an Int64
2600
-             * @link https://www.php.net/manual/en/mongodb-bson-int64.serialize.php
2601
-             * @return string
2602
-             * @throws InvalidArgumentException
2603
-             */
2604
-            final public function serialize() {}
2605
-
2606
-            /**
2607
-             * Unserialize an Int64
2608
-             * @link https://www.php.net/manual/en/mongodb-bson-int64.unserialize.php
2609
-             * @param string $serialized
2610
-             * @return void
2611
-             * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2612
-             * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2613
-             */
2614
-            final public function unserialize($serialized) {}
2615
-
2616
-            /**
2617
-             * Returns a representation that can be converted to JSON
2618
-             * @link https://www.php.net/manual/en/mongodb-bson-int64.jsonserialize.php
2619
-             * @return mixed data which can be serialized by json_encode()
2620
-             * @throws InvalidArgumentException on argument parsing errors
2621
-             */
2622
-            final public function jsonSerialize() {}
2623
-
2624
-            /**
2625
-             * Returns the Symbol as a string
2626
-             * @return string Returns the string representation of this Symbol.
2627
-             */
2628
-            final public function __toString() {}
2629
-        }
2630
-
2631
-        /**
2632
-         * This interface is implemented by MongoDB\BSON\Binary but may also be used for type-hinting and userland classes.
2633
-         * @link https://www.php.net/manual/en/class.mongodb-bson-binaryinterface.php
2634
-         */
2635
-        interface BinaryInterface
2636
-        {
2637
-            /**
2638
-             * @link https://www.php.net/manual/en/mongodb-bson-binaryinterface.getdata.php
2639
-             * @return string Returns the BinaryInterface's data
2640
-             */
2641
-            public function getData();
2642
-
2643
-            /**
2644
-             * @link https://www.php.net/manual/en/mongodb-bson-binaryinterface.gettype.php
2645
-             * @return int Returns the BinaryInterface's type.
2646
-             */
2647
-            public function getType();
2648
-
2649
-            /**
2650
-             * This method is an alias of: MongoDB\BSON\BinaryInterface::getData().
2651
-             * @link https://www.php.net/manual/en/mongodb-bson-binaryinterface.tostring.php
2652
-             * @return string Returns the BinaryInterface's data.
2653
-             */
2654
-            public function __toString();
2655
-        }
2656
-
2657
-        /**
2658
-         * This interface is implemented by MongoDB\BSON\ObjectId but may also be used for type-hinting and userland classes.
2659
-         * @link https://www.php.net/manual/en/class.mongodb-bson-objectidinterface.php
2660
-         */
2661
-        interface ObjectIdInterface
2662
-        {
2663
-            /**
2664
-             * @link https://www.php.net/manual/en/mongodb-bson-objectidinterface.gettimestamp.php
2665
-             * @return int Returns the timestamp component of this ObjectIdInterface.
2666
-             */
2667
-            public function getTimestamp();
2668
-
2669
-            /**
2670
-             * Returns the hexadecimal representation of this ObjectId
2671
-             * @link https://www.php.net/manual/en/mongodb-bson-objectid.tostring.php
2672
-             * @return string Returns the hexadecimal representation of this ObjectId
2673
-             */
2674
-            public function __toString();
2675
-        }
2676
-
2677
-        /**
2678
-         * @link https://www.php.net/manual/en/class.mongodb-bson-regexinterface.php
2679
-         * This interface is implemented by MongoDB\BSON\Regex but may also be used for type-hinting and userland classes.
2680
-         */
2681
-        interface RegexInterface
2682
-        {
2683
-            /**
2684
-             * @link https://www.php.net/manual/en/mongodb-bson-regexinterface.getflags.php
2685
-             * @return string Returns the RegexInterface's flags.
2686
-             */
2687
-            public function getFlags();
2688
-
2689
-            /**
2690
-             * @link https://www.php.net/manual/en/mongodb-bson-regexinterface.getpattern.php
2691
-             * @return string Returns the RegexInterface's pattern.
2692
-             */
2693
-            public function getPattern();
2694
-
2695
-            /**
2696
-             * Returns the string representation of this RegexInterface
2697
-             * @link https://www.php.net/manual/en/mongodb-bson-regexinterface.tostring.php
2698
-             * @return string
2699
-             */
2700
-            public function __toString();
2701
-        }
2702
-
2703
-        /**
2704
-         * This interface is implemented by MongoDB\BSON\UTCDateTime but may also be used for type-hinting and userland classes.
2705
-         * @link https://www.php.net/manual/en/class.mongodb-bson-utcdatetimeinterface.php
2706
-         */
2707
-        interface UTCDateTimeInterface
2708
-        {
2709
-            /**
2710
-             * @link https://www.php.net/manual/en/mongodb-bson-utcdatetimeinterface.todatetime.php
2711
-             * @return DateTime Returns the DateTime representation of this UTCDateTimeInterface. The returned DateTime should use the UTC time zone.
2712
-             */
2713
-            public function toDateTime();
2714
-
2715
-            /**
2716
-             * Returns the string representation of this UTCDateTimeInterface
2717
-             * @link https://www.php.net/manual/en/mongodb-bson-utcdatetimeinterface.tostring.php
2718
-             * @return string
2719
-             */
2720
-            public function __toString();
2721
-        }
2722
-
2723
-        /**
2724
-         * This interface is implemented by MongoDB\BSON\MaxKey but may also be used for type-hinting and userland classes.
2725
-         * @link https://www.php.net/manual/en/class.mongodb-bson-maxkeyinterface.php
2726
-         */
2727
-        interface MaxKeyInterface {}
2728
-
2729
-        /**
2730
-         * This interface is implemented by MongoDB\BSON\MinKey but may also be used for type-hinting and userland classes.
2731
-         * @link https://www.php.net/manual/en/class.mongodb-bson-minkeyinterface.php
2732
-         */
2733
-        interface MinKeyInterface {}
2734
-
2735
-        /**
2736
-         * This interface is implemented by MongoDB\BSON\Decimal128 but may also be used for type-hinting and userland classes.
2737
-         * @link https://www.php.net/manual/en/class.mongodb-bson-decimal128interface.php
2738
-         */
2739
-        interface Decimal128Interface
2740
-        {
2741
-            /**
2742
-             * Returns the string representation of this Decimal128Interface
2743
-             * @link https://www.php.net/manual/en/mongodb-bson-decimal128interface.tostring.php
2744
-             * @return string Returns the string representation of this Decimal128Interface
2745
-             */
2746
-            public function __toString();
2747
-        }
2748
-
2749
-        /**
2750
-         * Classes may implement this interface to take advantage of automatic ODM (object document mapping) behavior in the driver.
2751
-         * @link https://php.net/manual/en/class.mongodb-bson-persistable.php
2752
-         */
2753
-        interface Persistable extends Unserializable, Serializable {}
2754
-
2755
-        /**
2756
-         * Classes that implement this interface may return data to be serialized as a BSON array or document in lieu of the object's public properties
2757
-         * @link https://php.net/manual/en/class.mongodb-bson-serializable.php
2758
-         */
2759
-        #[Deprecated(since: '8.1')]
2760
-        interface Serializable extends Type
2761
-        {
2762
-            /**
2763
-             * Provides an array or document to serialize as BSON
2764
-             * Called during serialization of the object to BSON. The method must return an array or stdClass.
2765
-             * Root documents (e.g. a MongoDB\BSON\Serializable passed to MongoDB\BSON\fromPHP()) will always be serialized as a BSON document.
2766
-             * For field values, associative arrays and stdClass instances will be serialized as a BSON document and sequential arrays (i.e. sequential, numeric indexes starting at 0) will be serialized as a BSON array.
2767
-             * @link https://php.net/manual/en/mongodb-bson-serializable.bsonserialize.php
2768
-             * @return array|object An array or stdClass to be serialized as a BSON array or document.
2769
-             */
2770
-            public function bsonSerialize();
2771
-        }
2772
-
2773
-        /**
2774
-         * Classes that implement this interface may be specified in a type map for unserializing BSON arrays and documents (both root and embedded).
2775
-         * @link https://php.net/manual/en/class.mongodb-bson-unserializable.php
2776
-         */
2777
-        interface Unserializable extends Type
2778
-        {
2779
-            /**
2780
-             * Constructs the object from a BSON array or document
2781
-             * Called during unserialization of the object from BSON.
2782
-             * The properties of the BSON array or document will be passed to the method as an array.
2783
-             * @link https://php.net/manual/en/mongodb-bson-unserializable.bsonunserialize.php
2784
-             * @param array $data Properties within the BSON array or document.
2785
-             */
2786
-            public function bsonUnserialize(array $data);
2787
-        }
2788
-
2789
-        /**
2790
-         * Interface Type
2791
-         * @link https://php.net/manual/en/class.mongodb-bson-type.php
2792
-         */
2793
-        interface Type {}
2794
-
2795
-        /**
2796
-         * Interface TimestampInterface
2797
-         *
2798
-         * @link https://secure.php.net/manual/en/class.mongodb-bson-timestampinterface.php
2799
-         * @since 1.3.0
2800
-         */
2801
-        interface TimestampInterface
2802
-        {
2803
-            /**
2804
-             * Returns the increment component of this TimestampInterface
2805
-             * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.getincrement.php
2806
-             * @return int
2807
-             * @since 1.3.0
2808
-             */
2809
-            public function getIncrement();
2810
-
2811
-            /**
2812
-             * Returns the timestamp component of this TimestampInterface
2813
-             * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.gettimestamp.php
2814
-             * @return int
2815
-             * @since 1.3.0
2816
-             */
2817
-            public function getTimestamp();
2818
-
2819
-            /**
2820
-             * Returns the string representation of this TimestampInterface
2821
-             * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.tostring.php
2822
-             * @return string
2823
-             * @since 1.3.0
2824
-             */
2825
-            public function __toString();
2826
-        }
2827
-
2828
-        /**
2829
-         * Interface JavascriptInterface
2830
-         *
2831
-         * @link https://secure.php.net/manual/en/class.mongodb-bson-javascriptinterface.php
2832
-         * @since 1.3.0
2833
-         */
2834
-        interface JavascriptInterface
2835
-        {
2836
-            /**
2837
-             * Returns the JavascriptInterface's code
2838
-             * @return string
2839
-             * @link https://secure.php.net/manual/en/mongodb-bson-javascriptinterface.getcode.php
2840
-             * @since 1.3.0
2841
-             */
2842
-            public function getCode();
2843
-
2844
-            /**
2845
-             * Returns the JavascriptInterface's scope document
2846
-             * @return object|null
2847
-             * @link https://secure.php.net/manual/en/mongodb-bson-javascriptinterface.getscope.php
2848
-             * @since 1.3.0
2849
-             */
2850
-            public function getScope();
2851
-
2852
-            /**
2853
-             * Returns the JavascriptInterface's code
2854
-             * @return string
2855
-             * @link https://secure.php.net/manual/en/mongodb-bson-javascriptinterface.tostring.php
2856
-             * @since 1.3.0
2857
-             */
2858
-            public function __toString();
2859
-        }
2860
-    }
1839
+	use DateTime;
1840
+	use DateTimeInterface;
1841
+	use JetBrains\PhpStorm\Deprecated;
1842
+	use JsonSerializable;
1843
+	use MongoDB\Driver\Exception\InvalidArgumentException;
1844
+	use MongoDB\Driver\Exception\UnexpectedValueException;
1845
+
1846
+		/**
1847
+		 * Converts a BSON string to its Canonical Extended JSON representation.
1848
+		 * The canonical format prefers type fidelity at the expense of concise output and is most suited for producing
1849
+		 * output that can be converted back to BSON without any loss of type information
1850
+		 * (e.g. numeric types will remain differentiated).
1851
+		 * @link https://www.php.net/manual/en/function.mongodb.bson-tocanonicalextendedjson.php
1852
+		 * @param string $bson BSON value to be converted
1853
+		 * @return string The converted JSON value
1854
+		 * @throws UnexpectedValueException
1855
+		 */
1856
+		function toCanonicalExtendedJSON($bson) {}
1857
+
1858
+		/**
1859
+		 * Converts a BSON string to its » Relaxed Extended JSON representation.
1860
+		 * The relaxed format prefers use of JSON type primitives at the expense of type fidelity and is most suited for
1861
+		 * producing output that can be easily consumed by web APIs and humans.
1862
+		 * @link https://www.php.net/manual/en/function.mongodb.bson-torelaxedextendedjson.php
1863
+		 * @param string $bson BSON value to be converted
1864
+		 * @return string The converted JSON value
1865
+		 * @throws UnexpectedValueException
1866
+		 */
1867
+		function toRelaxedExtendedJSON($bson) {}
1868
+
1869
+		/**
1870
+		 * Returns the BSON representation of a JSON value
1871
+		 * Converts an extended JSON string to its BSON representation.
1872
+		 * @link https://php.net/manual/en/function.mongodb.bson-fromjson.php
1873
+		 * @param string $json JSON value to be converted.
1874
+		 * @return string The serialized BSON document as a binary string.
1875
+		 * @throws UnexpectedValueException if the JSON value cannot be converted to BSON (e.g. due to a syntax error).
1876
+		 */
1877
+		function fromJSON($json) {}
1878
+
1879
+		/**
1880
+		 * Returns the BSON representation of a PHP value
1881
+		 * Serializes a PHP array or object (e.g. document) to its BSON representation. The returned binary string will describe a BSON document.
1882
+		 * @link https://php.net/manual/en/function.mongodb.bson-fromphp.php
1883
+		 * @param array|object $value PHP value to be serialized.
1884
+		 * @return string The serialized BSON document as a binary string
1885
+		 * @throws UnexpectedValueException if the PHP value cannot be converted to BSON.
1886
+		 */
1887
+		function fromPHP($value) {}
1888
+
1889
+		/**
1890
+		 * Returns the JSON representation of a BSON value
1891
+		 * Converts a BSON string to its extended JSON representation.
1892
+		 * @link https://php.net/manual/en/function.mongodb.bson-tojson.php
1893
+		 * @param string $bson BSON value to be converted
1894
+		 * @return string The converted JSON value.
1895
+		 * @see https://docs.mongodb.org/manual/reference/mongodb-extended-json/
1896
+		 * @throws UnexpectedValueException if the input did not contain exactly one BSON document
1897
+		 */
1898
+		function toJSON($bson) {}
1899
+
1900
+		/**
1901
+		 * Returns the PHP representation of a BSON value
1902
+		 * Unserializes a BSON document (i.e. binary string) to its PHP representation.
1903
+		 * The typeMap parameter may be used to control the PHP types used for converting BSON arrays and documents (both root and embedded).
1904
+		 * @link https://php.net/manual/en/function.mongodb.bson-tophp.php
1905
+		 * @param string $bson BSON value to be unserialized.
1906
+		 * @param array $typemap
1907
+		 * @return object The unserialized PHP value
1908
+		 * @throws UnexpectedValueException if the input did not contain exactly one BSON document.
1909
+		 * @throws InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.
1910
+		 */
1911
+		function toPHP($bson, array $typemap = []) {}
1912
+
1913
+		/**
1914
+		 * Class Binary
1915
+		 * @link https://php.net/manual/en/class.mongodb-bson-binary.php
1916
+		 */
1917
+		final class Binary implements Type, BinaryInterface, \Serializable, JsonSerializable
1918
+		{
1919
+			public const TYPE_GENERIC = 0;
1920
+			public const TYPE_FUNCTION = 1;
1921
+			public const TYPE_OLD_BINARY = 2;
1922
+			public const TYPE_OLD_UUID = 3;
1923
+			public const TYPE_UUID = 4;
1924
+			public const TYPE_MD5 = 5;
1925
+			/**
1926
+			 * @since 1.7.0
1927
+			 */
1928
+			public const TYPE_ENCRYPTED = 6;
1929
+			public const TYPE_USER_DEFINED = 128;
1930
+
1931
+			/**
1932
+			 * Binary constructor.
1933
+			 * @link https://php.net/manual/en/mongodb-bson-binary.construct.php
1934
+			 * @param string $data
1935
+			 * @param int $type
1936
+			 */
1937
+			final public function __construct($data, $type) {}
1938
+
1939
+			/**
1940
+			 * Returns the Binary's data
1941
+			 * @link https://php.net/manual/en/mongodb-bson-binary.getdata.php
1942
+			 * @return string
1943
+			 */
1944
+			final public function getData() {}
1945
+
1946
+			/**
1947
+			 * Returns the Binary's type
1948
+			 * @link https://php.net/manual/en/mongodb-bson-binary.gettype.php
1949
+			 * @return int
1950
+			 */
1951
+			final public function getType() {}
1952
+
1953
+			public static function __set_state(array $properties) {}
1954
+
1955
+			/**
1956
+			 * Returns the Binary's data
1957
+			 * @link https://www.php.net/manual/en/mongodb-bson-binary.tostring.php
1958
+			 * @return string
1959
+			 */
1960
+			final public function __toString() {}
1961
+
1962
+			/**
1963
+			 * Serialize a Binary
1964
+			 * @since 1.2.0
1965
+			 * @link https://www.php.net/manual/en/mongodb-bson-binary.serialize.php
1966
+			 * @return string
1967
+			 * @throws InvalidArgumentException
1968
+			 */
1969
+			final public function serialize() {}
1970
+
1971
+			/**
1972
+			 * Unserialize a Binary
1973
+			 * @since 1.2.0
1974
+			 * @link https://www.php.net/manual/en/mongodb-bson-binary.unserialize.php
1975
+			 * @param string $serialized
1976
+			 * @return void
1977
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
1978
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
1979
+			 */
1980
+			final public function unserialize($serialized) {}
1981
+
1982
+			/**
1983
+			 * Returns a representation that can be converted to JSON
1984
+			 * @since 1.2.0
1985
+			 * @link https://www.php.net/manual/en/mongodb-bson-binary.jsonserialize.php
1986
+			 * @return mixed data which can be serialized by json_encode()
1987
+			 * @throws InvalidArgumentException on argument parsing errors
1988
+			 */
1989
+			final public function jsonSerialize() {}
1990
+		}
1991
+
1992
+		/**
1993
+		 * BSON type for the Decimal128 floating-point format, which supports numbers with up to 34 decimal digits (i.e. significant digits) and an exponent range of −6143 to +6144.
1994
+		 * @link https://php.net/manual/en/class.mongodb-bson-decimal128.php
1995
+		 */
1996
+		final class Decimal128 implements Type, Decimal128Interface, \Serializable, JsonSerializable
1997
+		{
1998
+			/**
1999
+			 * Construct a new Decimal128
2000
+			 * @link https://php.net/manual/en/mongodb-bson-decimal128.construct.php
2001
+			 * @param string $value A decimal string.
2002
+			 */
2003
+			final public function __construct($value = '') {}
2004
+
2005
+			/**
2006
+			 * Returns the string representation of this Decimal128
2007
+			 * @link https://php.net/manual/en/mongodb-bson-decimal128.tostring.php
2008
+			 * @return string
2009
+			 */
2010
+			final public function __toString() {}
2011
+
2012
+			public static function __set_state(array $properties) {}
2013
+
2014
+			/**
2015
+			 * Serialize a Decimal128
2016
+			 * @since 1.2.0
2017
+			 * @link https://www.php.net/manual/en/mongodb-bson-decimal128.serialize.php
2018
+			 * @return string
2019
+			 * @throws InvalidArgumentException
2020
+			 */
2021
+			final public function serialize() {}
2022
+
2023
+			/**
2024
+			 * Unserialize a Decimal128
2025
+			 * @since 1.2.0
2026
+			 * @link https://www.php.net/manual/en/mongodb-bson-decimal128.unserialize.php
2027
+			 * @param string $serialized
2028
+			 * @return void
2029
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2030
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2031
+			 */
2032
+			final public function unserialize($serialized) {}
2033
+
2034
+			/**
2035
+			 * Returns a representation that can be converted to JSON
2036
+			 * @since 1.2.0
2037
+			 * @link https://www.php.net/manual/en/mongodb-bson-decimal128.jsonserialize.php
2038
+			 * @return mixed data which can be serialized by json_encode()
2039
+			 * @throws InvalidArgumentException on argument parsing errors
2040
+			 */
2041
+			final public function jsonSerialize() {}
2042
+		}
2043
+
2044
+		/**
2045
+		 * Class Javascript
2046
+		 * @link https://php.net/manual/en/class.mongodb-bson-javascript.php
2047
+		 */
2048
+		final class Javascript implements Type, JavascriptInterface, \Serializable, JsonSerializable
2049
+		{
2050
+			/**
2051
+			 * Construct a new Javascript
2052
+			 * @link https://php.net/manual/en/mongodb-bson-javascript.construct.php
2053
+			 * @param string $javascript
2054
+			 * @param array|object $scope
2055
+			 */
2056
+			final public function __construct($javascript, $scope = []) {}
2057
+
2058
+			public static function __set_state(array $properties) {}
2059
+
2060
+			/**
2061
+			 * Returns the Javascript's code
2062
+			 * @return string
2063
+			 * @link https://secure.php.net/manual/en/mongodb-bson-javascript.getcode.php
2064
+			 */
2065
+			final public function getCode() {}
2066
+
2067
+			/**
2068
+			 * Returns the Javascript's scope document
2069
+			 * @return object|null
2070
+			 * @link https://secure.php.net/manual/en/mongodb-bson-javascript.getscope.php
2071
+			 */
2072
+			final public function getScope() {}
2073
+
2074
+			/**
2075
+			 * Returns the Javascript's code
2076
+			 * @return string
2077
+			 * @link https://secure.php.net/manual/en/mongodb-bson-javascript.tostring.php
2078
+			 */
2079
+			final public function __toString() {}
2080
+
2081
+			/**
2082
+			 * Serialize a Javascript
2083
+			 * @since 1.2.0
2084
+			 * @link https://www.php.net/manual/en/mongodb-bson-javascript.serialize.php
2085
+			 * @return string
2086
+			 * @throws InvalidArgumentException
2087
+			 */
2088
+			final public function serialize() {}
2089
+
2090
+			/**
2091
+			 * Unserialize a Javascript
2092
+			 * @since 1.2.0
2093
+			 * @link https://www.php.net/manual/en/mongodb-bson-javascript.unserialize.php
2094
+			 * @param string $serialized
2095
+			 * @return void
2096
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2097
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2098
+			 */
2099
+			final public function unserialize($serialized) {}
2100
+
2101
+			/**
2102
+			 * Returns a representation that can be converted to JSON
2103
+			 * @since 1.2.0
2104
+			 * @link https://www.php.net/manual/en/mongodb-bson-javascript.jsonserialize.php
2105
+			 * @return mixed data which can be serialized by json_encode()
2106
+			 * @throws InvalidArgumentException on argument parsing errors
2107
+			 */
2108
+			final public function jsonSerialize() {}
2109
+		}
2110
+
2111
+		/**
2112
+		 * Class MaxKey
2113
+		 * @link https://php.net/manual/en/class.mongodb-bson-maxkey.php
2114
+		 */
2115
+		final class MaxKey implements Type, MaxKeyInterface, \Serializable, JsonSerializable
2116
+		{
2117
+			public static function __set_state(array $properties) {}
2118
+
2119
+			/**
2120
+			 * Serialize a MaxKey
2121
+			 * @since 1.2.0
2122
+			 * @link https://www.php.net/manual/en/mongodb-bson-maxkey.serialize.php
2123
+			 * @return string
2124
+			 * @throws InvalidArgumentException
2125
+			 */
2126
+			final public function serialize() {}
2127
+
2128
+			/**
2129
+			 * Unserialize a MaxKey
2130
+			 * @since 1.2.0
2131
+			 * @link https://www.php.net/manual/en/mongodb-bson-maxkey.unserialize.php
2132
+			 * @param string $serialized
2133
+			 * @return void
2134
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2135
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2136
+			 */
2137
+			final public function unserialize($serialized) {}
2138
+
2139
+			/**
2140
+			 * Returns a representation that can be converted to JSON
2141
+			 * @since 1.2.0
2142
+			 * @link https://www.php.net/manual/en/mongodb-bson-maxkey.jsonserialize.php
2143
+			 * @return mixed data which can be serialized by json_encode()
2144
+			 * @throws InvalidArgumentException on argument parsing errors
2145
+			 */
2146
+			final public function jsonSerialize() {}
2147
+		}
2148
+
2149
+		/**
2150
+		 * Class MinKey
2151
+		 * @link https://php.net/manual/en/class.mongodb-bson-minkey.php
2152
+		 */
2153
+		final class MinKey implements Type, MinKeyInterface, \Serializable, JsonSerializable
2154
+		{
2155
+			public static function __set_state(array $properties) {}
2156
+
2157
+			/**
2158
+			 * Serialize a MinKey
2159
+			 * @since 1.2.0
2160
+			 * @link https://www.php.net/manual/en/mongodb-bson-minkey.serialize.php
2161
+			 * @return string
2162
+			 * @throws InvalidArgumentException
2163
+			 */
2164
+			final public function serialize() {}
2165
+
2166
+			/**
2167
+			 * Unserialize a MinKey
2168
+			 * @since 1.2.0
2169
+			 * @link https://www.php.net/manual/en/mongodb-bson-minkey.unserialize.php
2170
+			 * @param string $serialized
2171
+			 * @return void
2172
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2173
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2174
+			 */
2175
+			final public function unserialize($serialized) {}
2176
+
2177
+			/**
2178
+			 * Returns a representation that can be converted to JSON
2179
+			 * @since 1.2.0
2180
+			 * @link https://www.php.net/manual/en/mongodb-bson-minkey.jsonserialize.php
2181
+			 * @return mixed data which can be serialized by json_encode()
2182
+			 * @throws InvalidArgumentException on argument parsing errors
2183
+			 */
2184
+			final public function jsonSerialize() {}
2185
+		}
2186
+
2187
+		/**
2188
+		 * Class ObjectId
2189
+		 * @link https://php.net/manual/en/class.mongodb-bson-objectid.php
2190
+		 */
2191
+		final class ObjectId implements Type, ObjectIdInterface, \Serializable, JsonSerializable
2192
+		{
2193
+			/**
2194
+			 * Construct a new ObjectId
2195
+			 * @link https://php.net/manual/en/mongodb-bson-objectid.construct.php
2196
+			 * @param string|null $id A 24-character hexadecimal string. If not provided, the driver will generate an ObjectId.
2197
+			 * @throws InvalidArgumentException if id is not a 24-character hexadecimal string.
2198
+			 */
2199
+			final public function __construct($id = null) {}
2200
+
2201
+			/**
2202
+			 * Returns the hexadecimal representation of this ObjectId
2203
+			 * @link https://php.net/manual/en/mongodb-bson-objectid.tostring.php
2204
+			 * @return string
2205
+			 */
2206
+			final public function __toString() {}
2207
+
2208
+			public static function __set_state(array $properties) {}
2209
+
2210
+			/**
2211
+			 * Returns the timestamp component of this ObjectId
2212
+			 * @since 1.2.0
2213
+			 * @link https://secure.php.net/manual/en/mongodb-bson-objectid.gettimestamp.php
2214
+			 * @return int the timestamp component of this ObjectId
2215
+			 */
2216
+			final public function getTimestamp() {}
2217
+
2218
+			/**
2219
+			 * Returns a representation that can be converted to JSON
2220
+			 * @since 1.2.0
2221
+			 * @link https://secure.php.net/manual/en/mongodb-bson-objectid.jsonserialize.php
2222
+			 * @return mixed data which can be serialized by json_encode()
2223
+			 */
2224
+			final public function jsonSerialize() {}
2225
+
2226
+			/**
2227
+			 * Serialize an ObjectId
2228
+			 * @since 1.2.0
2229
+			 * @link https://secure.php.net/manual/en/mongodb-bson-objectid.serialize.php
2230
+			 * @return string the serialized representation of the object
2231
+			 */
2232
+			final public function serialize() {}
2233
+
2234
+			/**
2235
+			 * Unserialize an ObjectId
2236
+			 * @since 1.2.0
2237
+			 * @link https://secure.php.net/manual/en/mongodb-bson-objectid.unserialize.php
2238
+			 * @return void
2239
+			 */
2240
+			final public function unserialize($serialized) {}
2241
+		}
2242
+
2243
+		/**
2244
+		 * Class Regex
2245
+		 * @link https://php.net/manual/en/class.mongodb-bson-regex.php
2246
+		 */
2247
+		final class Regex implements Type, RegexInterface, \Serializable, JsonSerializable
2248
+		{
2249
+			/**
2250
+			 * Construct a new Regex
2251
+			 * @link https://php.net/manual/en/mongodb-bson-regex.construct.php
2252
+			 * @param string $pattern
2253
+			 * @param string $flags [optional]
2254
+			 */
2255
+			final public function __construct($pattern, $flags = "") {}
2256
+
2257
+			/**
2258
+			 * Returns the Regex's flags
2259
+			 * @link https://php.net/manual/en/mongodb-bson-regex.getflags.php
2260
+			 */
2261
+			final public function getFlags() {}
2262
+
2263
+			/**
2264
+			 * Returns the Regex's pattern
2265
+			 * @link https://php.net/manual/en/mongodb-bson-regex.getpattern.php
2266
+			 * @return string
2267
+			 */
2268
+			final public function getPattern() {}
2269
+
2270
+			/**
2271
+			 * Returns the string representation of this Regex
2272
+			 * @link https://php.net/manual/en/mongodb-bson-regex.tostring.php
2273
+			 * @return string
2274
+			 */
2275
+			final public function __toString() {}
2276
+
2277
+			public static function __set_state(array $properties) {}
2278
+
2279
+			/**
2280
+			 * Serialize a Regex
2281
+			 * @since 1.2.0
2282
+			 * @link https://www.php.net/manual/en/mongodb-bson-regex.serialize.php
2283
+			 * @return string
2284
+			 * @throws InvalidArgumentException
2285
+			 */
2286
+			final public function serialize() {}
2287
+
2288
+			/**
2289
+			 * Unserialize a Regex
2290
+			 * @since 1.2.0
2291
+			 * @link https://www.php.net/manual/en/mongodb-bson-regex.unserialize.php
2292
+			 * @param string $serialized
2293
+			 * @return void
2294
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2295
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2296
+			 */
2297
+			final public function unserialize($serialized) {}
2298
+
2299
+			/**
2300
+			 * Returns a representation that can be converted to JSON
2301
+			 * @since 1.2.0
2302
+			 * @link https://www.php.net/manual/en/mongodb-bson-regex.jsonserialize.php
2303
+			 * @return mixed data which can be serialized by json_encode()
2304
+			 * @throws InvalidArgumentException on argument parsing errors
2305
+			 */
2306
+			final public function jsonSerialize() {}
2307
+		}
2308
+
2309
+		/**
2310
+		 * Represents a BSON timestamp, which is an internal MongoDB type not intended for general date storage.
2311
+		 * @link https://php.net/manual/en/class.mongodb-bson-timestamp.php
2312
+		 */
2313
+		final class Timestamp implements TimestampInterface, Type, \Serializable, JsonSerializable
2314
+		{
2315
+			/**
2316
+			 * Construct a new Timestamp
2317
+			 * @link https://php.net/manual/en/mongodb-bson-timestamp.construct.php
2318
+			 * @param int $increment
2319
+			 * @param int $timestamp
2320
+			 */
2321
+			final public function __construct($increment, $timestamp) {}
2322
+
2323
+			/**
2324
+			 * Returns the string representation of this Timestamp
2325
+			 * @link https://php.net/manual/en/mongodb-bson-timestamp.tostring.php
2326
+			 * @return string
2327
+			 */
2328
+			final public function __toString() {}
2329
+
2330
+			public static function __set_state(array $properties) {}
2331
+
2332
+			/**
2333
+			 * Returns the increment component of this TimestampInterface
2334
+			 * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.getincrement.php
2335
+			 * @return int
2336
+			 * @since 1.3.0
2337
+			 */
2338
+			final public function getIncrement() {}
2339
+
2340
+			/**
2341
+			 * Returns the timestamp component of this TimestampInterface
2342
+			 * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.gettimestamp.php
2343
+			 * @return int
2344
+			 * @since 1.3.0
2345
+			 */
2346
+			final public function getTimestamp() {}
2347
+
2348
+			/**
2349
+			 * Serialize a Timestamp
2350
+			 * @since 1.2.0
2351
+			 * @link https://www.php.net/manual/en/mongodb-bson-timestamp.serialize.php
2352
+			 * @return string
2353
+			 * @throws InvalidArgumentException
2354
+			 */
2355
+			final public function serialize() {}
2356
+
2357
+			/**
2358
+			 * Unserialize a Timestamp
2359
+			 * @since 1.2.0
2360
+			 * @link https://www.php.net/manual/en/mongodb-bson-timestamp.unserialize.php
2361
+			 * @param string $serialized
2362
+			 * @return void
2363
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2364
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2365
+			 */
2366
+			final public function unserialize($serialized) {}
2367
+
2368
+			/**
2369
+			 * Returns a representation that can be converted to JSON
2370
+			 * @since 1.2.0
2371
+			 * @link https://www.php.net/manual/en/mongodb-bson-timestamp.jsonserialize.php
2372
+			 * @return mixed data which can be serialized by json_encode()
2373
+			 * @throws InvalidArgumentException on argument parsing errors
2374
+			 */
2375
+			final public function jsonSerialize() {}
2376
+		}
2377
+
2378
+		/**
2379
+		 * Represents a BSON date.
2380
+		 * @link https://php.net/manual/en/class.mongodb-bson-utcdatetime.php
2381
+		 */
2382
+		final class UTCDateTime implements Type, UTCDateTimeInterface, \Serializable, \JsonSerializable
2383
+		{
2384
+			/**
2385
+			 * Construct a new UTCDateTime
2386
+			 * @link https://php.net/manual/en/mongodb-bson-utcdatetime.construct.php
2387
+			 * @param int|float|string|DateTimeInterface $milliseconds
2388
+			 */
2389
+			final public function __construct($milliseconds = null) {}
2390
+
2391
+			public static function __set_state(array $properties) {}
2392
+
2393
+			/**
2394
+			 * Returns the DateTime representation of this UTCDateTime
2395
+			 * @link https://php.net/manual/en/mongodb-bson-utcdatetime.todatetime.php
2396
+			 * @return \DateTime
2397
+			 */
2398
+			final public function toDateTime() {}
2399
+
2400
+			/**
2401
+			 * Returns the string representation of this UTCDateTime
2402
+			 * @link https://php.net/manual/en/mongodb-bson-utcdatetime.tostring.php
2403
+			 * @return string
2404
+			 */
2405
+			final public function __toString() {}
2406
+
2407
+			/**
2408
+			 * Serialize a UTCDateTime
2409
+			 * @since 1.2.0
2410
+			 * @link https://www.php.net/manual/en/mongodb-bson-utcdatetime.serialize.php
2411
+			 * @return string
2412
+			 * @throws InvalidArgumentException
2413
+			 */
2414
+			final public function serialize() {}
2415
+
2416
+			/**
2417
+			 * Unserialize a UTCDateTime
2418
+			 * @since 1.2.0
2419
+			 * @link https://www.php.net/manual/en/mongodb-bson-utcdatetime.unserialize.php
2420
+			 * @param string $serialized
2421
+			 * @return void
2422
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2423
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2424
+			 */
2425
+			final public function unserialize($serialized) {}
2426
+
2427
+			/**
2428
+			 * Returns a representation that can be converted to JSON
2429
+			 * @since 1.2.0
2430
+			 * @link https://www.php.net/manual/en/mongodb-bson-utcdatetime.jsonserialize.php
2431
+			 * @return mixed data which can be serialized by json_encode()
2432
+			 * @throws InvalidArgumentException on argument parsing errors
2433
+			 */
2434
+			final public function jsonSerialize() {}
2435
+		}
2436
+
2437
+		/**
2438
+		 * BSON type for the "Undefined" type. This BSON type is deprecated, and this class can not be instantiated. It will be created
2439
+		 * from a BSON undefined type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.
2440
+		 *
2441
+		 * @link https://secure.php.net/manual/en/class.mongodb-bson-undefined.php
2442
+		 */
2443
+		#[Deprecated]
2444
+		final class Undefined implements Type, \Serializable, \JsonSerializable
2445
+		{
2446
+			final private function __construct() {}
2447
+
2448
+			/**
2449
+			 * Serialize an Undefined
2450
+			 * @since 1.2.0
2451
+			 * @link https://www.php.net/manual/en/mongodb-bson-undefined.serialize.php
2452
+			 * @return string
2453
+			 * @throws InvalidArgumentException
2454
+			 */
2455
+			final public function serialize() {}
2456
+
2457
+			/**
2458
+			 * Unserialize an Undefined
2459
+			 * @since 1.2.0
2460
+			 * @link https://www.php.net/manual/en/mongodb-bson-undefined.unserialize.php
2461
+			 * @param string $serialized
2462
+			 * @return void
2463
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2464
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2465
+			 */
2466
+			final public function unserialize($serialized) {}
2467
+
2468
+			/**
2469
+			 * Returns a representation that can be converted to JSON
2470
+			 * @since 1.2.0
2471
+			 * @link https://www.php.net/manual/en/mongodb-bson-undefined.jsonserialize.php
2472
+			 * @return mixed data which can be serialized by json_encode()
2473
+			 * @throws InvalidArgumentException on argument parsing errors
2474
+			 */
2475
+			final public function jsonSerialize() {}
2476
+
2477
+			/**
2478
+			 * Returns the Undefined as a string
2479
+			 * @return string Returns the string representation of this Symbol.
2480
+			 */
2481
+			final public function __toString() {}
2482
+		}
2483
+
2484
+		/**
2485
+		 * BSON type for the "Symbol" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a
2486
+		 * BSON symbol type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.
2487
+		 *
2488
+		 * @link https://secure.php.net/manual/en/class.mongodb-bson-symbol.php
2489
+		 */
2490
+		#[Deprecated]
2491
+		final class Symbol implements Type, \Serializable, \JsonSerializable
2492
+		{
2493
+			final private function __construct() {}
2494
+
2495
+			/**
2496
+			 * Serialize a Symbol
2497
+			 * @since 1.2.0
2498
+			 * @link https://www.php.net/manual/en/mongodb-bson-symbol.serialize.php
2499
+			 * @return string
2500
+			 * @throws InvalidArgumentException
2501
+			 */
2502
+			final public function serialize() {}
2503
+
2504
+			/**
2505
+			 * Unserialize a Symbol
2506
+			 * @since 1.2.0
2507
+			 * @link https://www.php.net/manual/en/mongodb-bson-symbol.unserialize.php
2508
+			 * @param string $serialized
2509
+			 * @return void
2510
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2511
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2512
+			 */
2513
+			final public function unserialize($serialized) {}
2514
+
2515
+			/**
2516
+			 * Returns a representation that can be converted to JSON
2517
+			 * @since 1.2.0
2518
+			 * @link https://www.php.net/manual/en/mongodb-bson-symbol.jsonserialize.php
2519
+			 * @return mixed data which can be serialized by json_encode()
2520
+			 * @throws InvalidArgumentException on argument parsing errors
2521
+			 */
2522
+			final public function jsonSerialize() {}
2523
+
2524
+			/**
2525
+			 * Returns the Symbol as a string
2526
+			 * @return string Returns the string representation of this Symbol.
2527
+			 */
2528
+			final public function __toString() {}
2529
+		}
2530
+
2531
+		/**
2532
+		 * BSON type for the "DbPointer" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a
2533
+		 * BSON symbol type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.
2534
+		 *
2535
+		 * @since 1.4.0
2536
+		 * @link https://secure.php.net/manual/en/class.mongodb-bson-dbpointer.php
2537
+		 */
2538
+		#[Deprecated]
2539
+		final class DBPointer implements Type, \Serializable, \JsonSerializable
2540
+		{
2541
+			final private function __construct() {}
2542
+
2543
+			/**
2544
+			 * Serialize a DBPointer
2545
+			 *
2546
+			 * @link https://www.php.net/manual/en/mongodb-bson-dbpointer.serialize.php
2547
+			 * @return string
2548
+			 * @throws InvalidArgumentException
2549
+			 */
2550
+			final public function serialize() {}
2551
+
2552
+			/**
2553
+			 * Unserialize a DBPointer
2554
+			 *
2555
+			 * @link https://www.php.net/manual/en/mongodb-bson-dbpointer.unserialize.php
2556
+			 *
2557
+			 * @param string $serialized
2558
+			 *
2559
+			 * @return void
2560
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2561
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2562
+			 */
2563
+			final public function unserialize($serialized) {}
2564
+
2565
+			/**
2566
+			 * Returns a representation that can be converted to JSON
2567
+			 *
2568
+			 * @link https://www.php.net/manual/en/mongodb-bson-dbpointer.jsonserialize.php
2569
+			 * @return mixed data which can be serialized by json_encode()
2570
+			 * @throws InvalidArgumentException on argument parsing errors
2571
+			 */
2572
+			final public function jsonSerialize() {}
2573
+
2574
+			/**
2575
+			 * Returns the Symbol as a string
2576
+			 *
2577
+			 * @return string Returns the string representation of this Symbol.
2578
+			 */
2579
+			final public function __toString() {}
2580
+		}
2581
+
2582
+		/**
2583
+		 * BSON type for a 64-bit integer. This class cannot be instantiated and is only created during BSON decoding when a 64-bit
2584
+		 * integer cannot be represented as a PHP integer on a 32-bit platform. Versions of the driver before 1.5.0 would throw an
2585
+		 * exception when attempting to decode a 64-bit integer on a 32-bit platform.
2586
+		 * During BSON encoding, objects of this class will convert back to a 64-bit integer type. This allows 64-bit integers to be
2587
+		 * roundtripped through a 32-bit PHP environment without any loss of precision. The __toString() method allows the 64-bit integer
2588
+		 * value to be accessed as a string.
2589
+		 *
2590
+		 * @since 1.5.0
2591
+		 * @link https://secure.php.net/manual/en/class.mongodb-bson-int64.php
2592
+		 */
2593
+		#[Deprecated]
2594
+		final class Int64 implements Type, \Serializable, \JsonSerializable
2595
+		{
2596
+			final private function __construct() {}
2597
+
2598
+			/**
2599
+			 * Serialize an Int64
2600
+			 * @link https://www.php.net/manual/en/mongodb-bson-int64.serialize.php
2601
+			 * @return string
2602
+			 * @throws InvalidArgumentException
2603
+			 */
2604
+			final public function serialize() {}
2605
+
2606
+			/**
2607
+			 * Unserialize an Int64
2608
+			 * @link https://www.php.net/manual/en/mongodb-bson-int64.unserialize.php
2609
+			 * @param string $serialized
2610
+			 * @return void
2611
+			 * @throws InvalidArgumentException on argument parsing errors or if the properties are invalid
2612
+			 * @throws UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed)
2613
+			 */
2614
+			final public function unserialize($serialized) {}
2615
+
2616
+			/**
2617
+			 * Returns a representation that can be converted to JSON
2618
+			 * @link https://www.php.net/manual/en/mongodb-bson-int64.jsonserialize.php
2619
+			 * @return mixed data which can be serialized by json_encode()
2620
+			 * @throws InvalidArgumentException on argument parsing errors
2621
+			 */
2622
+			final public function jsonSerialize() {}
2623
+
2624
+			/**
2625
+			 * Returns the Symbol as a string
2626
+			 * @return string Returns the string representation of this Symbol.
2627
+			 */
2628
+			final public function __toString() {}
2629
+		}
2630
+
2631
+		/**
2632
+		 * This interface is implemented by MongoDB\BSON\Binary but may also be used for type-hinting and userland classes.
2633
+		 * @link https://www.php.net/manual/en/class.mongodb-bson-binaryinterface.php
2634
+		 */
2635
+		interface BinaryInterface
2636
+		{
2637
+			/**
2638
+			 * @link https://www.php.net/manual/en/mongodb-bson-binaryinterface.getdata.php
2639
+			 * @return string Returns the BinaryInterface's data
2640
+			 */
2641
+			public function getData();
2642
+
2643
+			/**
2644
+			 * @link https://www.php.net/manual/en/mongodb-bson-binaryinterface.gettype.php
2645
+			 * @return int Returns the BinaryInterface's type.
2646
+			 */
2647
+			public function getType();
2648
+
2649
+			/**
2650
+			 * This method is an alias of: MongoDB\BSON\BinaryInterface::getData().
2651
+			 * @link https://www.php.net/manual/en/mongodb-bson-binaryinterface.tostring.php
2652
+			 * @return string Returns the BinaryInterface's data.
2653
+			 */
2654
+			public function __toString();
2655
+		}
2656
+
2657
+		/**
2658
+		 * This interface is implemented by MongoDB\BSON\ObjectId but may also be used for type-hinting and userland classes.
2659
+		 * @link https://www.php.net/manual/en/class.mongodb-bson-objectidinterface.php
2660
+		 */
2661
+		interface ObjectIdInterface
2662
+		{
2663
+			/**
2664
+			 * @link https://www.php.net/manual/en/mongodb-bson-objectidinterface.gettimestamp.php
2665
+			 * @return int Returns the timestamp component of this ObjectIdInterface.
2666
+			 */
2667
+			public function getTimestamp();
2668
+
2669
+			/**
2670
+			 * Returns the hexadecimal representation of this ObjectId
2671
+			 * @link https://www.php.net/manual/en/mongodb-bson-objectid.tostring.php
2672
+			 * @return string Returns the hexadecimal representation of this ObjectId
2673
+			 */
2674
+			public function __toString();
2675
+		}
2676
+
2677
+		/**
2678
+		 * @link https://www.php.net/manual/en/class.mongodb-bson-regexinterface.php
2679
+		 * This interface is implemented by MongoDB\BSON\Regex but may also be used for type-hinting and userland classes.
2680
+		 */
2681
+		interface RegexInterface
2682
+		{
2683
+			/**
2684
+			 * @link https://www.php.net/manual/en/mongodb-bson-regexinterface.getflags.php
2685
+			 * @return string Returns the RegexInterface's flags.
2686
+			 */
2687
+			public function getFlags();
2688
+
2689
+			/**
2690
+			 * @link https://www.php.net/manual/en/mongodb-bson-regexinterface.getpattern.php
2691
+			 * @return string Returns the RegexInterface's pattern.
2692
+			 */
2693
+			public function getPattern();
2694
+
2695
+			/**
2696
+			 * Returns the string representation of this RegexInterface
2697
+			 * @link https://www.php.net/manual/en/mongodb-bson-regexinterface.tostring.php
2698
+			 * @return string
2699
+			 */
2700
+			public function __toString();
2701
+		}
2702
+
2703
+		/**
2704
+		 * This interface is implemented by MongoDB\BSON\UTCDateTime but may also be used for type-hinting and userland classes.
2705
+		 * @link https://www.php.net/manual/en/class.mongodb-bson-utcdatetimeinterface.php
2706
+		 */
2707
+		interface UTCDateTimeInterface
2708
+		{
2709
+			/**
2710
+			 * @link https://www.php.net/manual/en/mongodb-bson-utcdatetimeinterface.todatetime.php
2711
+			 * @return DateTime Returns the DateTime representation of this UTCDateTimeInterface. The returned DateTime should use the UTC time zone.
2712
+			 */
2713
+			public function toDateTime();
2714
+
2715
+			/**
2716
+			 * Returns the string representation of this UTCDateTimeInterface
2717
+			 * @link https://www.php.net/manual/en/mongodb-bson-utcdatetimeinterface.tostring.php
2718
+			 * @return string
2719
+			 */
2720
+			public function __toString();
2721
+		}
2722
+
2723
+		/**
2724
+		 * This interface is implemented by MongoDB\BSON\MaxKey but may also be used for type-hinting and userland classes.
2725
+		 * @link https://www.php.net/manual/en/class.mongodb-bson-maxkeyinterface.php
2726
+		 */
2727
+		interface MaxKeyInterface {}
2728
+
2729
+		/**
2730
+		 * This interface is implemented by MongoDB\BSON\MinKey but may also be used for type-hinting and userland classes.
2731
+		 * @link https://www.php.net/manual/en/class.mongodb-bson-minkeyinterface.php
2732
+		 */
2733
+		interface MinKeyInterface {}
2734
+
2735
+		/**
2736
+		 * This interface is implemented by MongoDB\BSON\Decimal128 but may also be used for type-hinting and userland classes.
2737
+		 * @link https://www.php.net/manual/en/class.mongodb-bson-decimal128interface.php
2738
+		 */
2739
+		interface Decimal128Interface
2740
+		{
2741
+			/**
2742
+			 * Returns the string representation of this Decimal128Interface
2743
+			 * @link https://www.php.net/manual/en/mongodb-bson-decimal128interface.tostring.php
2744
+			 * @return string Returns the string representation of this Decimal128Interface
2745
+			 */
2746
+			public function __toString();
2747
+		}
2748
+
2749
+		/**
2750
+		 * Classes may implement this interface to take advantage of automatic ODM (object document mapping) behavior in the driver.
2751
+		 * @link https://php.net/manual/en/class.mongodb-bson-persistable.php
2752
+		 */
2753
+		interface Persistable extends Unserializable, Serializable {}
2754
+
2755
+		/**
2756
+		 * Classes that implement this interface may return data to be serialized as a BSON array or document in lieu of the object's public properties
2757
+		 * @link https://php.net/manual/en/class.mongodb-bson-serializable.php
2758
+		 */
2759
+		#[Deprecated(since: '8.1')]
2760
+		interface Serializable extends Type
2761
+		{
2762
+			/**
2763
+			 * Provides an array or document to serialize as BSON
2764
+			 * Called during serialization of the object to BSON. The method must return an array or stdClass.
2765
+			 * Root documents (e.g. a MongoDB\BSON\Serializable passed to MongoDB\BSON\fromPHP()) will always be serialized as a BSON document.
2766
+			 * For field values, associative arrays and stdClass instances will be serialized as a BSON document and sequential arrays (i.e. sequential, numeric indexes starting at 0) will be serialized as a BSON array.
2767
+			 * @link https://php.net/manual/en/mongodb-bson-serializable.bsonserialize.php
2768
+			 * @return array|object An array or stdClass to be serialized as a BSON array or document.
2769
+			 */
2770
+			public function bsonSerialize();
2771
+		}
2772
+
2773
+		/**
2774
+		 * Classes that implement this interface may be specified in a type map for unserializing BSON arrays and documents (both root and embedded).
2775
+		 * @link https://php.net/manual/en/class.mongodb-bson-unserializable.php
2776
+		 */
2777
+		interface Unserializable extends Type
2778
+		{
2779
+			/**
2780
+			 * Constructs the object from a BSON array or document
2781
+			 * Called during unserialization of the object from BSON.
2782
+			 * The properties of the BSON array or document will be passed to the method as an array.
2783
+			 * @link https://php.net/manual/en/mongodb-bson-unserializable.bsonunserialize.php
2784
+			 * @param array $data Properties within the BSON array or document.
2785
+			 */
2786
+			public function bsonUnserialize(array $data);
2787
+		}
2788
+
2789
+		/**
2790
+		 * Interface Type
2791
+		 * @link https://php.net/manual/en/class.mongodb-bson-type.php
2792
+		 */
2793
+		interface Type {}
2794
+
2795
+		/**
2796
+		 * Interface TimestampInterface
2797
+		 *
2798
+		 * @link https://secure.php.net/manual/en/class.mongodb-bson-timestampinterface.php
2799
+		 * @since 1.3.0
2800
+		 */
2801
+		interface TimestampInterface
2802
+		{
2803
+			/**
2804
+			 * Returns the increment component of this TimestampInterface
2805
+			 * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.getincrement.php
2806
+			 * @return int
2807
+			 * @since 1.3.0
2808
+			 */
2809
+			public function getIncrement();
2810
+
2811
+			/**
2812
+			 * Returns the timestamp component of this TimestampInterface
2813
+			 * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.gettimestamp.php
2814
+			 * @return int
2815
+			 * @since 1.3.0
2816
+			 */
2817
+			public function getTimestamp();
2818
+
2819
+			/**
2820
+			 * Returns the string representation of this TimestampInterface
2821
+			 * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.tostring.php
2822
+			 * @return string
2823
+			 * @since 1.3.0
2824
+			 */
2825
+			public function __toString();
2826
+		}
2827
+
2828
+		/**
2829
+		 * Interface JavascriptInterface
2830
+		 *
2831
+		 * @link https://secure.php.net/manual/en/class.mongodb-bson-javascriptinterface.php
2832
+		 * @since 1.3.0
2833
+		 */
2834
+		interface JavascriptInterface
2835
+		{
2836
+			/**
2837
+			 * Returns the JavascriptInterface's code
2838
+			 * @return string
2839
+			 * @link https://secure.php.net/manual/en/mongodb-bson-javascriptinterface.getcode.php
2840
+			 * @since 1.3.0
2841
+			 */
2842
+			public function getCode();
2843
+
2844
+			/**
2845
+			 * Returns the JavascriptInterface's scope document
2846
+			 * @return object|null
2847
+			 * @link https://secure.php.net/manual/en/mongodb-bson-javascriptinterface.getscope.php
2848
+			 * @since 1.3.0
2849
+			 */
2850
+			public function getScope();
2851
+
2852
+			/**
2853
+			 * Returns the JavascriptInterface's code
2854
+			 * @return string
2855
+			 * @link https://secure.php.net/manual/en/mongodb-bson-javascriptinterface.tostring.php
2856
+			 * @since 1.3.0
2857
+			 */
2858
+			public function __toString();
2859
+		}
2860
+	}
2861 2861
 
2862 2862
 namespace {
2863
-    define('MONGODB_VERSION', '1.10.0');
2864
-    define('MONGODB_STABILITY', 'stable');
2863
+	define('MONGODB_VERSION', '1.10.0');
2864
+	define('MONGODB_STABILITY', 'stable');
2865 2865
 }
Please login to merge, or discard this patch.
Braces   +25 added lines, -50 removed lines patch added patch discarded remove patch
@@ -36,8 +36,7 @@  discard block
 block discarded – undo
36 36
          * Any write or query can throw connection exceptions as connections are created lazily. A MongoDB server may also become unavailable during the life time of the script. It is therefore important that all actions on the Manager to be wrapped in try/catch statements.
37 37
          * @link https://php.net/manual/en/class.mongodb-driver-manager.php
38 38
          */
39
-        final class Manager
40
-        {
39
+        final class Manager {
41 40
             /**
42 41
              * Manager constructor.
43 42
              * @link https://php.net/manual/en/mongodb-driver-manager.construct.php
@@ -219,8 +218,7 @@  discard block
 block discarded – undo
219 218
         /**
220 219
          * @link https://php.net/manual/en/class.mongodb-driver-server.php
221 220
          */
222
-        final class Server
223
-        {
221
+        final class Server {
224 222
             public const TYPE_UNKNOWN = 0;
225 223
             public const TYPE_STANDALONE = 1;
226 224
             public const TYPE_MONGOS = 2;
@@ -458,8 +456,7 @@  discard block
 block discarded – undo
458 456
          * The MongoDB\Driver\Query class is a value object that represents a database query.
459 457
          * @link https://php.net/manual/en/class.mongodb-driver-query.php
460 458
          */
461
-        final class Query
462
-        {
459
+        final class Query {
463 460
             /**
464 461
              * Construct new Query
465 462
              * @link https://php.net/manual/en/mongodb-driver-query.construct.php
@@ -478,8 +475,7 @@  discard block
 block discarded – undo
478 475
          * @link https://php.net/manual/en/class.mongodb-driver-command.php
479 476
          * @since 1.0.0
480 477
          */
481
-        final class Command
482
-        {
478
+        final class Command {
483 479
             /**
484 480
              * Construct new Command
485 481
              * @param array|object $document The complete command to construct
@@ -972,8 +968,7 @@  discard block
 block discarded – undo
972 968
          * The MongoDB\Driver\WriteResult class encapsulates information about an executed MongoDB\Driver\BulkWrite and may be returned by MongoDB\Driver\Manager::executeBulkWrite().
973 969
          * @link https://php.net/manual/en/class.mongodb-driver-writeresult.php
974 970
          */
975
-        final class WriteResult
976
-        {
971
+        final class WriteResult {
977 972
             final private function __construct() {}
978 973
 
979 974
             final public function __wakeup() {}
@@ -1052,8 +1047,7 @@  discard block
 block discarded – undo
1052 1047
         /**
1053 1048
          * The MongoDB\Driver\WriteError class encapsulates information about a write error and may be returned as an array element from MongoDB\Driver\WriteResult::getWriteErrors().
1054 1049
          */
1055
-        final class WriteError
1056
-        {
1050
+        final class WriteError {
1057 1051
             final private function __construct() {}
1058 1052
 
1059 1053
             final public function __wakeup() {}
@@ -1091,8 +1085,7 @@  discard block
 block discarded – undo
1091 1085
          * The MongoDB\Driver\WriteConcernError class encapsulates information about a write concern error and may be returned by MongoDB\Driver\WriteResult::getWriteConcernError().
1092 1086
          * @link https://php.net/manual/en/class.mongodb-driver-writeconcernerror.php
1093 1087
          */
1094
-        final class WriteConcernError
1095
-        {
1088
+        final class WriteConcernError {
1096 1089
             final private function __construct() {}
1097 1090
 
1098 1091
             final public function __wakeup() {}
@@ -1125,8 +1118,7 @@  discard block
 block discarded – undo
1125 1118
          * @link https://secure.php.net/manual/en/class.mongodb-driver-session.php
1126 1119
          * @since 1.4.0
1127 1120
          */
1128
-        final class Session
1129
-        {
1121
+        final class Session {
1130 1122
             /**
1131 1123
              * @since 1.7.0
1132 1124
              */
@@ -1291,8 +1283,7 @@  discard block
 block discarded – undo
1291 1283
          * @link https://www.php.net/manual/en/class.mongodb-driver-cursorinterface.php
1292 1284
          * @since 1.6.0
1293 1285
          */
1294
-        interface CursorInterface extends Traversable
1295
-        {
1286
+        interface CursorInterface extends Traversable {
1296 1287
             /**
1297 1288
              * Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID uniquely identifies the cursor on the server.
1298 1289
              * @return CursorId Returns the MongoDB\Driver\CursorId for this cursor.
@@ -1341,8 +1332,7 @@  discard block
 block discarded – undo
1341 1332
          * @link https://www.php.net/manual/en/class.mongodb-driver-clientencryption.php
1342 1333
          * @since 1.7.0
1343 1334
          */
1344
-        final class ClientEncryption
1345
-        {
1335
+        final class ClientEncryption {
1346 1336
             public const AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC = 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic';
1347 1337
             public const AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM = 'AEAD_AES_256_CBC_HMAC_SHA_512-Random';
1348 1338
 
@@ -1443,8 +1433,7 @@  discard block
 block discarded – undo
1443 1433
          * @link https://php.net/manual/en/class.mongodb-driver-exception-commandexception.php
1444 1434
          * @since 1.5.0
1445 1435
          */
1446
-        class CommandException extends ServerException
1447
-        {
1436
+        class CommandException extends ServerException {
1448 1437
             protected $resultDocument;
1449 1438
 
1450 1439
             /**
@@ -1471,8 +1460,7 @@  discard block
 block discarded – undo
1471 1460
          * @link https://php.net/manual/en/class.mongodb-driver-exception-writeexception.php
1472 1461
          * @since 1.0.0
1473 1462
          */
1474
-        abstract class WriteException extends ServerException implements Exception
1475
-        {
1463
+        abstract class WriteException extends ServerException implements Exception {
1476 1464
             /**
1477 1465
              * @var WriteResult associated with the failed write operation.
1478 1466
              */
@@ -1576,8 +1564,7 @@  discard block
 block discarded – undo
1576 1564
          * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandsubscriber.php
1577 1565
          * @since 1.3.0
1578 1566
          */
1579
-        interface CommandSubscriber extends Subscriber
1580
-        {
1567
+        interface CommandSubscriber extends Subscriber {
1581 1568
             /**
1582 1569
              * Notification method for a failed command.
1583 1570
              * If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has failed.
@@ -1617,8 +1604,7 @@  discard block
 block discarded – undo
1617 1604
          * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandsucceededevent.php
1618 1605
          * @since 1.3.0
1619 1606
          */
1620
-        class CommandSucceededEvent
1621
-        {
1607
+        class CommandSucceededEvent {
1622 1608
             final private function __construct() {}
1623 1609
 
1624 1610
             final public function __wakeup() {}
@@ -1687,8 +1673,7 @@  discard block
 block discarded – undo
1687 1673
          * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandfailedevent.php
1688 1674
          * @since 1.3.0
1689 1675
          */
1690
-        class CommandFailedEvent
1691
-        {
1676
+        class CommandFailedEvent {
1692 1677
             final private function __construct() {}
1693 1678
 
1694 1679
             final public function __wakeup() {}
@@ -1766,8 +1751,7 @@  discard block
 block discarded – undo
1766 1751
          * @link https://secure.php.net/manual/en/class.mongodb-driver-monitoring-commandstartedevent.php
1767 1752
          * @since 1.3.0
1768 1753
          */
1769
-        class CommandStartedEvent
1770
-        {
1754
+        class CommandStartedEvent {
1771 1755
             final private function __construct() {}
1772 1756
 
1773 1757
             final public function __wakeup() {}
@@ -2632,8 +2616,7 @@  discard block
 block discarded – undo
2632 2616
          * This interface is implemented by MongoDB\BSON\Binary but may also be used for type-hinting and userland classes.
2633 2617
          * @link https://www.php.net/manual/en/class.mongodb-bson-binaryinterface.php
2634 2618
          */
2635
-        interface BinaryInterface
2636
-        {
2619
+        interface BinaryInterface {
2637 2620
             /**
2638 2621
              * @link https://www.php.net/manual/en/mongodb-bson-binaryinterface.getdata.php
2639 2622
              * @return string Returns the BinaryInterface's data
@@ -2658,8 +2641,7 @@  discard block
 block discarded – undo
2658 2641
          * This interface is implemented by MongoDB\BSON\ObjectId but may also be used for type-hinting and userland classes.
2659 2642
          * @link https://www.php.net/manual/en/class.mongodb-bson-objectidinterface.php
2660 2643
          */
2661
-        interface ObjectIdInterface
2662
-        {
2644
+        interface ObjectIdInterface {
2663 2645
             /**
2664 2646
              * @link https://www.php.net/manual/en/mongodb-bson-objectidinterface.gettimestamp.php
2665 2647
              * @return int Returns the timestamp component of this ObjectIdInterface.
@@ -2678,8 +2660,7 @@  discard block
 block discarded – undo
2678 2660
          * @link https://www.php.net/manual/en/class.mongodb-bson-regexinterface.php
2679 2661
          * This interface is implemented by MongoDB\BSON\Regex but may also be used for type-hinting and userland classes.
2680 2662
          */
2681
-        interface RegexInterface
2682
-        {
2663
+        interface RegexInterface {
2683 2664
             /**
2684 2665
              * @link https://www.php.net/manual/en/mongodb-bson-regexinterface.getflags.php
2685 2666
              * @return string Returns the RegexInterface's flags.
@@ -2704,8 +2685,7 @@  discard block
 block discarded – undo
2704 2685
          * This interface is implemented by MongoDB\BSON\UTCDateTime but may also be used for type-hinting and userland classes.
2705 2686
          * @link https://www.php.net/manual/en/class.mongodb-bson-utcdatetimeinterface.php
2706 2687
          */
2707
-        interface UTCDateTimeInterface
2708
-        {
2688
+        interface UTCDateTimeInterface {
2709 2689
             /**
2710 2690
              * @link https://www.php.net/manual/en/mongodb-bson-utcdatetimeinterface.todatetime.php
2711 2691
              * @return DateTime Returns the DateTime representation of this UTCDateTimeInterface. The returned DateTime should use the UTC time zone.
@@ -2736,8 +2716,7 @@  discard block
 block discarded – undo
2736 2716
          * This interface is implemented by MongoDB\BSON\Decimal128 but may also be used for type-hinting and userland classes.
2737 2717
          * @link https://www.php.net/manual/en/class.mongodb-bson-decimal128interface.php
2738 2718
          */
2739
-        interface Decimal128Interface
2740
-        {
2719
+        interface Decimal128Interface {
2741 2720
             /**
2742 2721
              * Returns the string representation of this Decimal128Interface
2743 2722
              * @link https://www.php.net/manual/en/mongodb-bson-decimal128interface.tostring.php
@@ -2757,8 +2736,7 @@  discard block
 block discarded – undo
2757 2736
          * @link https://php.net/manual/en/class.mongodb-bson-serializable.php
2758 2737
          */
2759 2738
         #[Deprecated(since: '8.1')]
2760
-        interface Serializable extends Type
2761
-        {
2739
+        interface Serializable extends Type {
2762 2740
             /**
2763 2741
              * Provides an array or document to serialize as BSON
2764 2742
              * Called during serialization of the object to BSON. The method must return an array or stdClass.
@@ -2774,8 +2752,7 @@  discard block
 block discarded – undo
2774 2752
          * Classes that implement this interface may be specified in a type map for unserializing BSON arrays and documents (both root and embedded).
2775 2753
          * @link https://php.net/manual/en/class.mongodb-bson-unserializable.php
2776 2754
          */
2777
-        interface Unserializable extends Type
2778
-        {
2755
+        interface Unserializable extends Type {
2779 2756
             /**
2780 2757
              * Constructs the object from a BSON array or document
2781 2758
              * Called during unserialization of the object from BSON.
@@ -2798,8 +2775,7 @@  discard block
 block discarded – undo
2798 2775
          * @link https://secure.php.net/manual/en/class.mongodb-bson-timestampinterface.php
2799 2776
          * @since 1.3.0
2800 2777
          */
2801
-        interface TimestampInterface
2802
-        {
2778
+        interface TimestampInterface {
2803 2779
             /**
2804 2780
              * Returns the increment component of this TimestampInterface
2805 2781
              * @link https://secure.php.net/manual/en/mongodb-bson-timestampinterface.getincrement.php
@@ -2831,8 +2807,7 @@  discard block
 block discarded – undo
2831 2807
          * @link https://secure.php.net/manual/en/class.mongodb-bson-javascriptinterface.php
2832 2808
          * @since 1.3.0
2833 2809
          */
2834
-        interface JavascriptInterface
2835
-        {
2810
+        interface JavascriptInterface {
2836 2811
             /**
2837 2812
              * Returns the JavascriptInterface's code
2838 2813
              * @return string
Please login to merge, or discard this patch.