droidline 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -104,6 +104,13 @@ export interface DeviceInfo {
104
104
  leased?: any;
105
105
  [field: string]: any;
106
106
  }
107
+ export interface ImageMatch {
108
+ x?: any;
109
+ y?: any;
110
+ bounds?: any;
111
+ score?: any;
112
+ [field: string]: any;
113
+ }
107
114
  export interface Notification {
108
115
  key?: any;
109
116
  package?: any;
@@ -122,6 +129,32 @@ export interface App {
122
129
  system?: any;
123
130
  [field: string]: any;
124
131
  }
132
+ export interface Sms {
133
+ id?: any;
134
+ address?: any;
135
+ text?: any;
136
+ time?: any;
137
+ box?: any;
138
+ read?: any;
139
+ mms?: any;
140
+ [field: string]: any;
141
+ }
142
+ export interface Call {
143
+ id?: any;
144
+ number?: any;
145
+ name?: any;
146
+ type?: any;
147
+ time?: any;
148
+ duration?: any;
149
+ [field: string]: any;
150
+ }
151
+ export interface Contact {
152
+ id?: any;
153
+ name?: any;
154
+ numbers?: any;
155
+ emails?: any;
156
+ [field: string]: any;
157
+ }
125
158
  /** Error codes the server can answer with, from spec/commands.json. */
126
159
  export type ErrorCode = "NOT_FOUND" | "AMBIGUOUS" | "NOT_CLICKABLE" | "TIMEOUT" | "NO_ACCESSIBILITY" | "NO_IME" | "NO_PERMISSION" | "APP_NOT_FOUND" | "ACTIVITY_BLOCKED" | "PROXY_FAILED" | "UNKNOWN_CMD" | "UNSUPPORTED" | "BAD_ARGS" | "DEVICE_NOT_FOUND" | "DEVICE_OFFLINE" | "DEVICE_AMBIGUOUS" | "DEVICE_LEASED" | "LEASE_NOT_FOUND" | "NO_FREE_DEVICE" | "OCR_UNAVAILABLE" | "AGENT_RESTARTED" | "UNAUTHORIZED" | "PAIRING_FAILED" | "INTERNAL";
127
160
  /** HTTP status and default retryable flag of each error code. */
@@ -163,6 +196,12 @@ export interface FindImageOptions {
163
196
  threshold?: number;
164
197
  /** Seconds to wait for the target to appear. @default 10 */
165
198
  timeout?: number;
199
+ /** Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match. */
200
+ region?: ReadonlyArray<number>;
201
+ /** Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time. */
202
+ scales?: ReadonlyArray<number>;
203
+ /** Also require the average color to agree, so a red and a green button of the same shape differ. @default false */
204
+ color?: boolean;
166
205
  }
167
206
  export interface FindImageResult {
168
207
  x: number;
@@ -175,6 +214,12 @@ export interface TapImageOptions {
175
214
  threshold?: number;
176
215
  /** Seconds to wait for the target to appear. @default 10 */
177
216
  timeout?: number;
217
+ /** Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match. */
218
+ region?: ReadonlyArray<number>;
219
+ /** Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time. */
220
+ scales?: ReadonlyArray<number>;
221
+ /** Also require the average color to agree, so a red and a green button of the same shape differ. @default false */
222
+ color?: boolean;
178
223
  }
179
224
  export interface TapImageResult {
180
225
  x: number;
@@ -182,6 +227,45 @@ export interface TapImageResult {
182
227
  score: number;
183
228
  ms: number;
184
229
  }
230
+ export interface ImageExistsOptions {
231
+ /** How close the match must be, from 0 to 1. @default 0.9 */
232
+ threshold?: number;
233
+ /** Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match. */
234
+ region?: ReadonlyArray<number>;
235
+ /** Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time. */
236
+ scales?: ReadonlyArray<number>;
237
+ /** Also require the average color to agree, so a red and a green button of the same shape differ. @default false */
238
+ color?: boolean;
239
+ }
240
+ export interface FindImagesOptions {
241
+ /** How close the match must be, from 0 to 1. @default 0.9 */
242
+ threshold?: number;
243
+ /** Seconds to wait for at least one match. 0 answers at once. @default 0 */
244
+ timeout?: number;
245
+ /** Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match. */
246
+ region?: ReadonlyArray<number>;
247
+ /** Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time. */
248
+ scales?: ReadonlyArray<number>;
249
+ /** Also require the average color to agree, so a red and a green button of the same shape differ. @default false */
250
+ color?: boolean;
251
+ /** Most matches to return. @default 20 */
252
+ max?: number;
253
+ }
254
+ export interface WaitImageGoneOptions {
255
+ /** How close the match must be, from 0 to 1. @default 0.9 */
256
+ threshold?: number;
257
+ /** Seconds to wait for the target to appear. @default 10 */
258
+ timeout?: number;
259
+ /** Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match. */
260
+ region?: ReadonlyArray<number>;
261
+ /** Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time. */
262
+ scales?: ReadonlyArray<number>;
263
+ /** Also require the average color to agree, so a red and a green button of the same shape differ. @default false */
264
+ color?: boolean;
265
+ }
266
+ export interface WaitImageGoneResult {
267
+ ms: number;
268
+ }
185
269
  export interface OcrOptions {
186
270
  /** Tesseract languages, such as kor+eng. Each needs its language data installed. @default "eng" */
187
271
  lang?: string;
@@ -468,6 +552,34 @@ export interface NotifyFilterOptions {
468
552
  /** Allowed packages. Omit to read the current list. */
469
553
  packages?: ReadonlyArray<string>;
470
554
  }
555
+ export interface SmsOptions {
556
+ /** Received, sent, or both. @default "inbox" */
557
+ box?: "inbox" | "sent" | "all";
558
+ /** Only messages whose number or sender contains this. Spaces and dashes are ignored. */
559
+ address?: string;
560
+ /** Only messages whose text contains this, ignoring case. */
561
+ contains?: string;
562
+ /** Only messages from the last this many seconds. 0 means any time. @default 0 */
563
+ within?: number;
564
+ /** Most messages to return, up to 500. @default 20 */
565
+ max?: number;
566
+ }
567
+ export interface CallsOptions {
568
+ /** Which calls. @default "all" */
569
+ type?: "all" | "incoming" | "outgoing" | "missed" | "rejected" | "blocked";
570
+ /** Only calls whose number or saved name contains this. Spaces and dashes are ignored. */
571
+ number?: string;
572
+ /** Only calls from the last this many seconds. 0 means any time. @default 0 */
573
+ within?: number;
574
+ /** Most calls to return, up to 500. @default 20 */
575
+ max?: number;
576
+ }
577
+ export interface ContactsOptions {
578
+ /** Only contacts whose name, number or email contains this, ignoring case. Spaces and dashes in numbers are ignored. */
579
+ query?: string;
580
+ /** Most contacts to return, up to 500. @default 50 */
581
+ max?: number;
582
+ }
471
583
  export interface ChromeGoOptions {
472
584
  /** Open in a new tab. @default false */
473
585
  new_tab?: boolean;
@@ -594,11 +706,14 @@ export declare abstract class DeviceCommands {
594
706
  /**
595
707
  * Find a picture on the screen.
596
708
  *
597
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
709
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
598
710
  *
599
711
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
600
712
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
601
713
  * @param timeout Seconds to wait for the target to appear. Default: 10.
714
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
715
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
716
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
602
717
  * @param opts Optional parameters by name, see FindImageOptions.
603
718
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
604
719
  * @example await d.find_image("ok-button.png")
@@ -607,11 +722,14 @@ export declare abstract class DeviceCommands {
607
722
  /**
608
723
  * Find a picture on the screen.
609
724
  *
610
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
725
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
611
726
  *
612
727
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
613
728
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
614
729
  * @param timeout Seconds to wait for the target to appear. Default: 10.
730
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
731
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
732
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
615
733
  * @param opts Optional parameters by name, see FindImageOptions.
616
734
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
617
735
  * @example await d.find_image("ok-button.png")
@@ -620,11 +738,14 @@ export declare abstract class DeviceCommands {
620
738
  /**
621
739
  * Find a picture on the screen.
622
740
  *
623
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
741
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
624
742
  *
625
743
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
626
744
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
627
745
  * @param timeout Seconds to wait for the target to appear. Default: 10.
746
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
747
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
748
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
628
749
  * @param opts Optional parameters by name, see FindImageOptions.
629
750
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
630
751
  * @example await d.find_image("ok-button.png")
@@ -633,11 +754,62 @@ export declare abstract class DeviceCommands {
633
754
  /**
634
755
  * Find a picture on the screen.
635
756
  *
636
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
757
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
758
+ *
759
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
760
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
761
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
762
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
763
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
764
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
765
+ * @param opts Optional parameters by name, see FindImageOptions.
766
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
767
+ * @example await d.find_image("ok-button.png")
768
+ */
769
+ find_image(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, opts?: FindImageOptions): Promise<FindImageResult>;
770
+ /**
771
+ * Find a picture on the screen.
772
+ *
773
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
774
+ *
775
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
776
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
777
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
778
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
779
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
780
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
781
+ * @param opts Optional parameters by name, see FindImageOptions.
782
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
783
+ * @example await d.find_image("ok-button.png")
784
+ */
785
+ find_image(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: FindImageOptions): Promise<FindImageResult>;
786
+ /**
787
+ * Find a picture on the screen.
788
+ *
789
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
790
+ *
791
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
792
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
793
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
794
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
795
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
796
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
797
+ * @param opts Optional parameters by name, see FindImageOptions.
798
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
799
+ * @example await d.find_image("ok-button.png")
800
+ */
801
+ find_image(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: FindImageOptions): Promise<FindImageResult>;
802
+ /**
803
+ * Find a picture on the screen.
804
+ *
805
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
637
806
  *
638
807
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
639
808
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
640
809
  * @param timeout Seconds to wait for the target to appear. Default: 10.
810
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
811
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
812
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
641
813
  * @param opts Optional parameters by name, see FindImageOptions.
642
814
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
643
815
  * @example await d.find_image("ok-button.png")
@@ -647,11 +819,14 @@ export declare abstract class DeviceCommands {
647
819
  /**
648
820
  * Find a picture on the screen.
649
821
  *
650
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
822
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
651
823
  *
652
824
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
653
825
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
654
826
  * @param timeout Seconds to wait for the target to appear. Default: 10.
827
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
828
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
829
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
655
830
  * @param opts Optional parameters by name, see FindImageOptions.
656
831
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
657
832
  * @example await d.find_image("ok-button.png")
@@ -661,25 +836,82 @@ export declare abstract class DeviceCommands {
661
836
  /**
662
837
  * Find a picture on the screen.
663
838
  *
664
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
839
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
665
840
  *
666
841
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
667
842
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
668
843
  * @param timeout Seconds to wait for the target to appear. Default: 10.
844
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
845
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
846
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
669
847
  * @param opts Optional parameters by name, see FindImageOptions.
670
848
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
671
849
  * @example await d.find_image("ok-button.png")
672
850
  * @alias find_image
673
851
  */
674
852
  findImage(image: string | Uint8Array, threshold?: number, timeout?: number, opts?: FindImageOptions): Promise<FindImageResult>;
853
+ /**
854
+ * Find a picture on the screen.
855
+ *
856
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
857
+ *
858
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
859
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
860
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
861
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
862
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
863
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
864
+ * @param opts Optional parameters by name, see FindImageOptions.
865
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
866
+ * @example await d.find_image("ok-button.png")
867
+ * @alias find_image
868
+ */
869
+ findImage(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, opts?: FindImageOptions): Promise<FindImageResult>;
870
+ /**
871
+ * Find a picture on the screen.
872
+ *
873
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
874
+ *
875
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
876
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
877
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
878
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
879
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
880
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
881
+ * @param opts Optional parameters by name, see FindImageOptions.
882
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
883
+ * @example await d.find_image("ok-button.png")
884
+ * @alias find_image
885
+ */
886
+ findImage(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: FindImageOptions): Promise<FindImageResult>;
887
+ /**
888
+ * Find a picture on the screen.
889
+ *
890
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
891
+ *
892
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
893
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
894
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
895
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
896
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
897
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
898
+ * @param opts Optional parameters by name, see FindImageOptions.
899
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
900
+ * @example await d.find_image("ok-button.png")
901
+ * @alias find_image
902
+ */
903
+ findImage(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: FindImageOptions): Promise<FindImageResult>;
675
904
  /**
676
905
  * Find a picture on the screen and tap its center.
677
906
  *
678
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
907
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
679
908
  *
680
909
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
681
910
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
682
911
  * @param timeout Seconds to wait for the target to appear. Default: 10.
912
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
913
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
914
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
683
915
  * @param opts Optional parameters by name, see TapImageOptions.
684
916
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
685
917
  * @example await d.tap_image("ok-button.png")
@@ -688,11 +920,14 @@ export declare abstract class DeviceCommands {
688
920
  /**
689
921
  * Find a picture on the screen and tap its center.
690
922
  *
691
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
923
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
692
924
  *
693
925
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
694
926
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
695
927
  * @param timeout Seconds to wait for the target to appear. Default: 10.
928
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
929
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
930
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
696
931
  * @param opts Optional parameters by name, see TapImageOptions.
697
932
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
698
933
  * @example await d.tap_image("ok-button.png")
@@ -701,11 +936,14 @@ export declare abstract class DeviceCommands {
701
936
  /**
702
937
  * Find a picture on the screen and tap its center.
703
938
  *
704
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
939
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
705
940
  *
706
941
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
707
942
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
708
943
  * @param timeout Seconds to wait for the target to appear. Default: 10.
944
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
945
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
946
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
709
947
  * @param opts Optional parameters by name, see TapImageOptions.
710
948
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
711
949
  * @example await d.tap_image("ok-button.png")
@@ -714,11 +952,62 @@ export declare abstract class DeviceCommands {
714
952
  /**
715
953
  * Find a picture on the screen and tap its center.
716
954
  *
717
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
955
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
956
+ *
957
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
958
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
959
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
960
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
961
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
962
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
963
+ * @param opts Optional parameters by name, see TapImageOptions.
964
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
965
+ * @example await d.tap_image("ok-button.png")
966
+ */
967
+ tap_image(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, opts?: TapImageOptions): Promise<TapImageResult>;
968
+ /**
969
+ * Find a picture on the screen and tap its center.
970
+ *
971
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
972
+ *
973
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
974
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
975
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
976
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
977
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
978
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
979
+ * @param opts Optional parameters by name, see TapImageOptions.
980
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
981
+ * @example await d.tap_image("ok-button.png")
982
+ */
983
+ tap_image(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: TapImageOptions): Promise<TapImageResult>;
984
+ /**
985
+ * Find a picture on the screen and tap its center.
986
+ *
987
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
988
+ *
989
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
990
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
991
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
992
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
993
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
994
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
995
+ * @param opts Optional parameters by name, see TapImageOptions.
996
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
997
+ * @example await d.tap_image("ok-button.png")
998
+ */
999
+ tap_image(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: TapImageOptions): Promise<TapImageResult>;
1000
+ /**
1001
+ * Find a picture on the screen and tap its center.
1002
+ *
1003
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
718
1004
  *
719
1005
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
720
1006
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
721
1007
  * @param timeout Seconds to wait for the target to appear. Default: 10.
1008
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1009
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1010
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
722
1011
  * @param opts Optional parameters by name, see TapImageOptions.
723
1012
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
724
1013
  * @example await d.tap_image("ok-button.png")
@@ -728,11 +1017,14 @@ export declare abstract class DeviceCommands {
728
1017
  /**
729
1018
  * Find a picture on the screen and tap its center.
730
1019
  *
731
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
1020
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
732
1021
  *
733
1022
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
734
1023
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
735
1024
  * @param timeout Seconds to wait for the target to appear. Default: 10.
1025
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1026
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1027
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
736
1028
  * @param opts Optional parameters by name, see TapImageOptions.
737
1029
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
738
1030
  * @example await d.tap_image("ok-button.png")
@@ -742,17 +1034,669 @@ export declare abstract class DeviceCommands {
742
1034
  /**
743
1035
  * Find a picture on the screen and tap its center.
744
1036
  *
745
- * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone, because another screen size or density will not match. On Android 9 and 10 screenshots need screen capture permission.
1037
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
746
1038
  *
747
1039
  * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
748
1040
  * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
749
1041
  * @param timeout Seconds to wait for the target to appear. Default: 10.
1042
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1043
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1044
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
750
1045
  * @param opts Optional parameters by name, see TapImageOptions.
751
1046
  * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
752
1047
  * @example await d.tap_image("ok-button.png")
753
1048
  * @alias tap_image
754
1049
  */
755
1050
  tapImage(image: string | Uint8Array, threshold?: number, timeout?: number, opts?: TapImageOptions): Promise<TapImageResult>;
1051
+ /**
1052
+ * Find a picture on the screen and tap its center.
1053
+ *
1054
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1055
+ *
1056
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1057
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1058
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1059
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1060
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1061
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1062
+ * @param opts Optional parameters by name, see TapImageOptions.
1063
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
1064
+ * @example await d.tap_image("ok-button.png")
1065
+ * @alias tap_image
1066
+ */
1067
+ tapImage(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, opts?: TapImageOptions): Promise<TapImageResult>;
1068
+ /**
1069
+ * Find a picture on the screen and tap its center.
1070
+ *
1071
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1072
+ *
1073
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1074
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1075
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1076
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1077
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1078
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1079
+ * @param opts Optional parameters by name, see TapImageOptions.
1080
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
1081
+ * @example await d.tap_image("ok-button.png")
1082
+ * @alias tap_image
1083
+ */
1084
+ tapImage(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: TapImageOptions): Promise<TapImageResult>;
1085
+ /**
1086
+ * Find a picture on the screen and tap its center.
1087
+ *
1088
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1089
+ *
1090
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1091
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1092
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1093
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1094
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1095
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1096
+ * @param opts Optional parameters by name, see TapImageOptions.
1097
+ * @throws {DroidlineError} with code NOT_FOUND, NO_PERMISSION.
1098
+ * @example await d.tap_image("ok-button.png")
1099
+ * @alias tap_image
1100
+ */
1101
+ tapImage(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: TapImageOptions): Promise<TapImageResult>;
1102
+ /**
1103
+ * Whether a picture is on the screen right now. Never waits.
1104
+ *
1105
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1106
+ *
1107
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1108
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1109
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1110
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1111
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1112
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1113
+ * @throws {DroidlineError} with code NO_PERMISSION.
1114
+ * @example await d.image_exists("coin.png")
1115
+ */
1116
+ image_exists(image: string | Uint8Array, opts?: ImageExistsOptions): Promise<boolean>;
1117
+ /**
1118
+ * Whether a picture is on the screen right now. Never waits.
1119
+ *
1120
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1121
+ *
1122
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1123
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1124
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1125
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1126
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1127
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1128
+ * @throws {DroidlineError} with code NO_PERMISSION.
1129
+ * @example await d.image_exists("coin.png")
1130
+ */
1131
+ image_exists(image: string | Uint8Array, threshold?: number, opts?: ImageExistsOptions): Promise<boolean>;
1132
+ /**
1133
+ * Whether a picture is on the screen right now. Never waits.
1134
+ *
1135
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1136
+ *
1137
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1138
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1139
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1140
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1141
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1142
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1143
+ * @throws {DroidlineError} with code NO_PERMISSION.
1144
+ * @example await d.image_exists("coin.png")
1145
+ */
1146
+ image_exists(image: string | Uint8Array, threshold?: number, region?: ReadonlyArray<number>, opts?: ImageExistsOptions): Promise<boolean>;
1147
+ /**
1148
+ * Whether a picture is on the screen right now. Never waits.
1149
+ *
1150
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1151
+ *
1152
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1153
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1154
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1155
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1156
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1157
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1158
+ * @throws {DroidlineError} with code NO_PERMISSION.
1159
+ * @example await d.image_exists("coin.png")
1160
+ */
1161
+ image_exists(image: string | Uint8Array, threshold?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: ImageExistsOptions): Promise<boolean>;
1162
+ /**
1163
+ * Whether a picture is on the screen right now. Never waits.
1164
+ *
1165
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1166
+ *
1167
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1168
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1169
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1170
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1171
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1172
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1173
+ * @throws {DroidlineError} with code NO_PERMISSION.
1174
+ * @example await d.image_exists("coin.png")
1175
+ */
1176
+ image_exists(image: string | Uint8Array, threshold?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: ImageExistsOptions): Promise<boolean>;
1177
+ /**
1178
+ * Whether a picture is on the screen right now. Never waits.
1179
+ *
1180
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1181
+ *
1182
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1183
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1184
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1185
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1186
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1187
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1188
+ * @throws {DroidlineError} with code NO_PERMISSION.
1189
+ * @example await d.image_exists("coin.png")
1190
+ * @alias image_exists
1191
+ */
1192
+ imageExists(image: string | Uint8Array, opts?: ImageExistsOptions): Promise<boolean>;
1193
+ /**
1194
+ * Whether a picture is on the screen right now. Never waits.
1195
+ *
1196
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1197
+ *
1198
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1199
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1200
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1201
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1202
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1203
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1204
+ * @throws {DroidlineError} with code NO_PERMISSION.
1205
+ * @example await d.image_exists("coin.png")
1206
+ * @alias image_exists
1207
+ */
1208
+ imageExists(image: string | Uint8Array, threshold?: number, opts?: ImageExistsOptions): Promise<boolean>;
1209
+ /**
1210
+ * Whether a picture is on the screen right now. Never waits.
1211
+ *
1212
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1213
+ *
1214
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1215
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1216
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1217
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1218
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1219
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1220
+ * @throws {DroidlineError} with code NO_PERMISSION.
1221
+ * @example await d.image_exists("coin.png")
1222
+ * @alias image_exists
1223
+ */
1224
+ imageExists(image: string | Uint8Array, threshold?: number, region?: ReadonlyArray<number>, opts?: ImageExistsOptions): Promise<boolean>;
1225
+ /**
1226
+ * Whether a picture is on the screen right now. Never waits.
1227
+ *
1228
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1229
+ *
1230
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1231
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1232
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1233
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1234
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1235
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1236
+ * @throws {DroidlineError} with code NO_PERMISSION.
1237
+ * @example await d.image_exists("coin.png")
1238
+ * @alias image_exists
1239
+ */
1240
+ imageExists(image: string | Uint8Array, threshold?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: ImageExistsOptions): Promise<boolean>;
1241
+ /**
1242
+ * Whether a picture is on the screen right now. Never waits.
1243
+ *
1244
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1245
+ *
1246
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1247
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1248
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1249
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1250
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1251
+ * @param opts Optional parameters by name, see ImageExistsOptions.
1252
+ * @throws {DroidlineError} with code NO_PERMISSION.
1253
+ * @example await d.image_exists("coin.png")
1254
+ * @alias image_exists
1255
+ */
1256
+ imageExists(image: string | Uint8Array, threshold?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: ImageExistsOptions): Promise<boolean>;
1257
+ /**
1258
+ * Every place a picture appears on the screen.
1259
+ *
1260
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1261
+ *
1262
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1263
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1264
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1265
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1266
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1267
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1268
+ * @param max Most matches to return. Default: 20.
1269
+ * @param opts Optional parameters by name, see FindImagesOptions.
1270
+ * @throws {DroidlineError} with code NO_PERMISSION.
1271
+ * @example await d.find_images("coin.png")
1272
+ */
1273
+ find_images(image: string | Uint8Array, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1274
+ /**
1275
+ * Every place a picture appears on the screen.
1276
+ *
1277
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1278
+ *
1279
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1280
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1281
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1282
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1283
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1284
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1285
+ * @param max Most matches to return. Default: 20.
1286
+ * @param opts Optional parameters by name, see FindImagesOptions.
1287
+ * @throws {DroidlineError} with code NO_PERMISSION.
1288
+ * @example await d.find_images("coin.png")
1289
+ */
1290
+ find_images(image: string | Uint8Array, threshold?: number, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1291
+ /**
1292
+ * Every place a picture appears on the screen.
1293
+ *
1294
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1295
+ *
1296
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1297
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1298
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1299
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1300
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1301
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1302
+ * @param max Most matches to return. Default: 20.
1303
+ * @param opts Optional parameters by name, see FindImagesOptions.
1304
+ * @throws {DroidlineError} with code NO_PERMISSION.
1305
+ * @example await d.find_images("coin.png")
1306
+ */
1307
+ find_images(image: string | Uint8Array, threshold?: number, timeout?: number, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1308
+ /**
1309
+ * Every place a picture appears on the screen.
1310
+ *
1311
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1312
+ *
1313
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1314
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1315
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1316
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1317
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1318
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1319
+ * @param max Most matches to return. Default: 20.
1320
+ * @param opts Optional parameters by name, see FindImagesOptions.
1321
+ * @throws {DroidlineError} with code NO_PERMISSION.
1322
+ * @example await d.find_images("coin.png")
1323
+ */
1324
+ find_images(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1325
+ /**
1326
+ * Every place a picture appears on the screen.
1327
+ *
1328
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1329
+ *
1330
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1331
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1332
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1333
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1334
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1335
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1336
+ * @param max Most matches to return. Default: 20.
1337
+ * @param opts Optional parameters by name, see FindImagesOptions.
1338
+ * @throws {DroidlineError} with code NO_PERMISSION.
1339
+ * @example await d.find_images("coin.png")
1340
+ */
1341
+ find_images(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1342
+ /**
1343
+ * Every place a picture appears on the screen.
1344
+ *
1345
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1346
+ *
1347
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1348
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1349
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1350
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1351
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1352
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1353
+ * @param max Most matches to return. Default: 20.
1354
+ * @param opts Optional parameters by name, see FindImagesOptions.
1355
+ * @throws {DroidlineError} with code NO_PERMISSION.
1356
+ * @example await d.find_images("coin.png")
1357
+ */
1358
+ find_images(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1359
+ /**
1360
+ * Every place a picture appears on the screen.
1361
+ *
1362
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1363
+ *
1364
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1365
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1366
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1367
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1368
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1369
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1370
+ * @param max Most matches to return. Default: 20.
1371
+ * @param opts Optional parameters by name, see FindImagesOptions.
1372
+ * @throws {DroidlineError} with code NO_PERMISSION.
1373
+ * @example await d.find_images("coin.png")
1374
+ */
1375
+ find_images(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, max?: number, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1376
+ /**
1377
+ * Every place a picture appears on the screen.
1378
+ *
1379
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1380
+ *
1381
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1382
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1383
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1384
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1385
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1386
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1387
+ * @param max Most matches to return. Default: 20.
1388
+ * @param opts Optional parameters by name, see FindImagesOptions.
1389
+ * @throws {DroidlineError} with code NO_PERMISSION.
1390
+ * @example await d.find_images("coin.png")
1391
+ * @alias find_images
1392
+ */
1393
+ findImages(image: string | Uint8Array, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1394
+ /**
1395
+ * Every place a picture appears on the screen.
1396
+ *
1397
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1398
+ *
1399
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1400
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1401
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1402
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1403
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1404
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1405
+ * @param max Most matches to return. Default: 20.
1406
+ * @param opts Optional parameters by name, see FindImagesOptions.
1407
+ * @throws {DroidlineError} with code NO_PERMISSION.
1408
+ * @example await d.find_images("coin.png")
1409
+ * @alias find_images
1410
+ */
1411
+ findImages(image: string | Uint8Array, threshold?: number, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1412
+ /**
1413
+ * Every place a picture appears on the screen.
1414
+ *
1415
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1416
+ *
1417
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1418
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1419
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1420
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1421
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1422
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1423
+ * @param max Most matches to return. Default: 20.
1424
+ * @param opts Optional parameters by name, see FindImagesOptions.
1425
+ * @throws {DroidlineError} with code NO_PERMISSION.
1426
+ * @example await d.find_images("coin.png")
1427
+ * @alias find_images
1428
+ */
1429
+ findImages(image: string | Uint8Array, threshold?: number, timeout?: number, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1430
+ /**
1431
+ * Every place a picture appears on the screen.
1432
+ *
1433
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1434
+ *
1435
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1436
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1437
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1438
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1439
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1440
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1441
+ * @param max Most matches to return. Default: 20.
1442
+ * @param opts Optional parameters by name, see FindImagesOptions.
1443
+ * @throws {DroidlineError} with code NO_PERMISSION.
1444
+ * @example await d.find_images("coin.png")
1445
+ * @alias find_images
1446
+ */
1447
+ findImages(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1448
+ /**
1449
+ * Every place a picture appears on the screen.
1450
+ *
1451
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1452
+ *
1453
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1454
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1455
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1456
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1457
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1458
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1459
+ * @param max Most matches to return. Default: 20.
1460
+ * @param opts Optional parameters by name, see FindImagesOptions.
1461
+ * @throws {DroidlineError} with code NO_PERMISSION.
1462
+ * @example await d.find_images("coin.png")
1463
+ * @alias find_images
1464
+ */
1465
+ findImages(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1466
+ /**
1467
+ * Every place a picture appears on the screen.
1468
+ *
1469
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1470
+ *
1471
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1472
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1473
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1474
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1475
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1476
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1477
+ * @param max Most matches to return. Default: 20.
1478
+ * @param opts Optional parameters by name, see FindImagesOptions.
1479
+ * @throws {DroidlineError} with code NO_PERMISSION.
1480
+ * @example await d.find_images("coin.png")
1481
+ * @alias find_images
1482
+ */
1483
+ findImages(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1484
+ /**
1485
+ * Every place a picture appears on the screen.
1486
+ *
1487
+ * Answers at once, with an empty list when nothing matches, unless timeout is set. Best matches come first and never overlap. Runs on the PC; for a phone with another screen density, pass scales.
1488
+ *
1489
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1490
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1491
+ * @param timeout Seconds to wait for at least one match. 0 answers at once. Default: 0.
1492
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1493
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1494
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1495
+ * @param max Most matches to return. Default: 20.
1496
+ * @param opts Optional parameters by name, see FindImagesOptions.
1497
+ * @throws {DroidlineError} with code NO_PERMISSION.
1498
+ * @example await d.find_images("coin.png")
1499
+ * @alias find_images
1500
+ */
1501
+ findImages(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, max?: number, opts?: FindImagesOptions): Promise<Array<ImageMatch>>;
1502
+ /**
1503
+ * Wait until a picture is no longer on the screen.
1504
+ *
1505
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1506
+ *
1507
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1508
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1509
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1510
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1511
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1512
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1513
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1514
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1515
+ * @example await d.wait_image_gone("loading.png")
1516
+ */
1517
+ wait_image_gone(image: string | Uint8Array, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1518
+ /**
1519
+ * Wait until a picture is no longer on the screen.
1520
+ *
1521
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1522
+ *
1523
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1524
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1525
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1526
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1527
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1528
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1529
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1530
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1531
+ * @example await d.wait_image_gone("loading.png")
1532
+ */
1533
+ wait_image_gone(image: string | Uint8Array, threshold?: number, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1534
+ /**
1535
+ * Wait until a picture is no longer on the screen.
1536
+ *
1537
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1538
+ *
1539
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1540
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1541
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1542
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1543
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1544
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1545
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1546
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1547
+ * @example await d.wait_image_gone("loading.png")
1548
+ */
1549
+ wait_image_gone(image: string | Uint8Array, threshold?: number, timeout?: number, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1550
+ /**
1551
+ * Wait until a picture is no longer on the screen.
1552
+ *
1553
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1554
+ *
1555
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1556
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1557
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1558
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1559
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1560
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1561
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1562
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1563
+ * @example await d.wait_image_gone("loading.png")
1564
+ */
1565
+ wait_image_gone(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1566
+ /**
1567
+ * Wait until a picture is no longer on the screen.
1568
+ *
1569
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1570
+ *
1571
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1572
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1573
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1574
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1575
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1576
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1577
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1578
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1579
+ * @example await d.wait_image_gone("loading.png")
1580
+ */
1581
+ wait_image_gone(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1582
+ /**
1583
+ * Wait until a picture is no longer on the screen.
1584
+ *
1585
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1586
+ *
1587
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1588
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1589
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1590
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1591
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1592
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1593
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1594
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1595
+ * @example await d.wait_image_gone("loading.png")
1596
+ */
1597
+ wait_image_gone(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1598
+ /**
1599
+ * Wait until a picture is no longer on the screen.
1600
+ *
1601
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1602
+ *
1603
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1604
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1605
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1606
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1607
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1608
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1609
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1610
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1611
+ * @example await d.wait_image_gone("loading.png")
1612
+ * @alias wait_image_gone
1613
+ */
1614
+ waitImageGone(image: string | Uint8Array, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1615
+ /**
1616
+ * Wait until a picture is no longer on the screen.
1617
+ *
1618
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1619
+ *
1620
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1621
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1622
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1623
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1624
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1625
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1626
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1627
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1628
+ * @example await d.wait_image_gone("loading.png")
1629
+ * @alias wait_image_gone
1630
+ */
1631
+ waitImageGone(image: string | Uint8Array, threshold?: number, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1632
+ /**
1633
+ * Wait until a picture is no longer on the screen.
1634
+ *
1635
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1636
+ *
1637
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1638
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1639
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1640
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1641
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1642
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1643
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1644
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1645
+ * @example await d.wait_image_gone("loading.png")
1646
+ * @alias wait_image_gone
1647
+ */
1648
+ waitImageGone(image: string | Uint8Array, threshold?: number, timeout?: number, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1649
+ /**
1650
+ * Wait until a picture is no longer on the screen.
1651
+ *
1652
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1653
+ *
1654
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1655
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1656
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1657
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1658
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1659
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1660
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1661
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1662
+ * @example await d.wait_image_gone("loading.png")
1663
+ * @alias wait_image_gone
1664
+ */
1665
+ waitImageGone(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1666
+ /**
1667
+ * Wait until a picture is no longer on the screen.
1668
+ *
1669
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1670
+ *
1671
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1672
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1673
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1674
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1675
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1676
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1677
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1678
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1679
+ * @example await d.wait_image_gone("loading.png")
1680
+ * @alias wait_image_gone
1681
+ */
1682
+ waitImageGone(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
1683
+ /**
1684
+ * Wait until a picture is no longer on the screen.
1685
+ *
1686
+ * Optional, and runs on the PC: the server takes a screenshot and compares. Cut the image from a screenshot of the same phone; for a phone with another screen density, pass scales. On Android 9 and 10 screenshots need screen capture permission.
1687
+ *
1688
+ * @param image PNG or JPEG of what to find, cut from a screenshot of the same phone. The SDKs and the CLI take a file path; on the wire it is base64.
1689
+ * @param threshold How close the match must be, from 0 to 1. Default: 0.9.
1690
+ * @param timeout Seconds to wait for the target to appear. Default: 10.
1691
+ * @param region Search only inside this box, given as left, top, right, bottom in screen pixels. Faster, and nothing outside it can match.
1692
+ * @param scales Sizes of the image to try, 1 being the size it was cut at, such as 0.8, 1, 1.25 for a phone with another screen density. Each size adds time.
1693
+ * @param color Also require the average color to agree, so a red and a green button of the same shape differ. Default: false.
1694
+ * @param opts Optional parameters by name, see WaitImageGoneOptions.
1695
+ * @throws {DroidlineError} with code TIMEOUT, NO_PERMISSION.
1696
+ * @example await d.wait_image_gone("loading.png")
1697
+ * @alias wait_image_gone
1698
+ */
1699
+ waitImageGone(image: string | Uint8Array, threshold?: number, timeout?: number, region?: ReadonlyArray<number>, scales?: ReadonlyArray<number>, color?: boolean, opts?: WaitImageGoneOptions): Promise<WaitImageGoneResult>;
756
1700
  /**
757
1701
  * Read the text on the screen with OCR.
758
1702
  *
@@ -3293,6 +4237,188 @@ export declare abstract class DeviceCommands {
3293
4237
  * @alias notify_filter
3294
4238
  */
3295
4239
  notifyFilter(packages?: ReadonlyArray<string>, opts?: NotifyFilterOptions): Promise<Array<string>>;
4240
+ /**
4241
+ * Text messages stored on the phone, newest first.
4242
+ *
4243
+ * Optional. Allow SMS on the app's Setup tab first; until then the answer is NO_PERMISSION. Covers SMS and the text of MMS. Chat messages (RCS) are kept by the messaging app itself and are not included. The MCP server lists this tool only when --tools names it.
4244
+ *
4245
+ * @param box Received, sent, or both. Default: "inbox".
4246
+ * @param address Only messages whose number or sender contains this. Spaces and dashes are ignored.
4247
+ * @param contains Only messages whose text contains this, ignoring case.
4248
+ * @param within Only messages from the last this many seconds. 0 means any time. Default: 0.
4249
+ * @param max Most messages to return, up to 500. Default: 20.
4250
+ * @param opts Optional parameters by name, see SmsOptions.
4251
+ * @example await d.sms({ contains: "인증번호", within: 300, max: 1 })
4252
+ */
4253
+ sms(opts?: SmsOptions): Promise<Array<Sms>>;
4254
+ /**
4255
+ * Text messages stored on the phone, newest first.
4256
+ *
4257
+ * Optional. Allow SMS on the app's Setup tab first; until then the answer is NO_PERMISSION. Covers SMS and the text of MMS. Chat messages (RCS) are kept by the messaging app itself and are not included. The MCP server lists this tool only when --tools names it.
4258
+ *
4259
+ * @param box Received, sent, or both. Default: "inbox".
4260
+ * @param address Only messages whose number or sender contains this. Spaces and dashes are ignored.
4261
+ * @param contains Only messages whose text contains this, ignoring case.
4262
+ * @param within Only messages from the last this many seconds. 0 means any time. Default: 0.
4263
+ * @param max Most messages to return, up to 500. Default: 20.
4264
+ * @param opts Optional parameters by name, see SmsOptions.
4265
+ * @example await d.sms({ contains: "인증번호", within: 300, max: 1 })
4266
+ */
4267
+ sms(box?: "inbox" | "sent" | "all", opts?: SmsOptions): Promise<Array<Sms>>;
4268
+ /**
4269
+ * Text messages stored on the phone, newest first.
4270
+ *
4271
+ * Optional. Allow SMS on the app's Setup tab first; until then the answer is NO_PERMISSION. Covers SMS and the text of MMS. Chat messages (RCS) are kept by the messaging app itself and are not included. The MCP server lists this tool only when --tools names it.
4272
+ *
4273
+ * @param box Received, sent, or both. Default: "inbox".
4274
+ * @param address Only messages whose number or sender contains this. Spaces and dashes are ignored.
4275
+ * @param contains Only messages whose text contains this, ignoring case.
4276
+ * @param within Only messages from the last this many seconds. 0 means any time. Default: 0.
4277
+ * @param max Most messages to return, up to 500. Default: 20.
4278
+ * @param opts Optional parameters by name, see SmsOptions.
4279
+ * @example await d.sms({ contains: "인증번호", within: 300, max: 1 })
4280
+ */
4281
+ sms(box?: "inbox" | "sent" | "all", address?: string, opts?: SmsOptions): Promise<Array<Sms>>;
4282
+ /**
4283
+ * Text messages stored on the phone, newest first.
4284
+ *
4285
+ * Optional. Allow SMS on the app's Setup tab first; until then the answer is NO_PERMISSION. Covers SMS and the text of MMS. Chat messages (RCS) are kept by the messaging app itself and are not included. The MCP server lists this tool only when --tools names it.
4286
+ *
4287
+ * @param box Received, sent, or both. Default: "inbox".
4288
+ * @param address Only messages whose number or sender contains this. Spaces and dashes are ignored.
4289
+ * @param contains Only messages whose text contains this, ignoring case.
4290
+ * @param within Only messages from the last this many seconds. 0 means any time. Default: 0.
4291
+ * @param max Most messages to return, up to 500. Default: 20.
4292
+ * @param opts Optional parameters by name, see SmsOptions.
4293
+ * @example await d.sms({ contains: "인증번호", within: 300, max: 1 })
4294
+ */
4295
+ sms(box?: "inbox" | "sent" | "all", address?: string, contains?: string, opts?: SmsOptions): Promise<Array<Sms>>;
4296
+ /**
4297
+ * Text messages stored on the phone, newest first.
4298
+ *
4299
+ * Optional. Allow SMS on the app's Setup tab first; until then the answer is NO_PERMISSION. Covers SMS and the text of MMS. Chat messages (RCS) are kept by the messaging app itself and are not included. The MCP server lists this tool only when --tools names it.
4300
+ *
4301
+ * @param box Received, sent, or both. Default: "inbox".
4302
+ * @param address Only messages whose number or sender contains this. Spaces and dashes are ignored.
4303
+ * @param contains Only messages whose text contains this, ignoring case.
4304
+ * @param within Only messages from the last this many seconds. 0 means any time. Default: 0.
4305
+ * @param max Most messages to return, up to 500. Default: 20.
4306
+ * @param opts Optional parameters by name, see SmsOptions.
4307
+ * @example await d.sms({ contains: "인증번호", within: 300, max: 1 })
4308
+ */
4309
+ sms(box?: "inbox" | "sent" | "all", address?: string, contains?: string, within?: number, opts?: SmsOptions): Promise<Array<Sms>>;
4310
+ /**
4311
+ * Text messages stored on the phone, newest first.
4312
+ *
4313
+ * Optional. Allow SMS on the app's Setup tab first; until then the answer is NO_PERMISSION. Covers SMS and the text of MMS. Chat messages (RCS) are kept by the messaging app itself and are not included. The MCP server lists this tool only when --tools names it.
4314
+ *
4315
+ * @param box Received, sent, or both. Default: "inbox".
4316
+ * @param address Only messages whose number or sender contains this. Spaces and dashes are ignored.
4317
+ * @param contains Only messages whose text contains this, ignoring case.
4318
+ * @param within Only messages from the last this many seconds. 0 means any time. Default: 0.
4319
+ * @param max Most messages to return, up to 500. Default: 20.
4320
+ * @param opts Optional parameters by name, see SmsOptions.
4321
+ * @example await d.sms({ contains: "인증번호", within: 300, max: 1 })
4322
+ */
4323
+ sms(box?: "inbox" | "sent" | "all", address?: string, contains?: string, within?: number, max?: number, opts?: SmsOptions): Promise<Array<Sms>>;
4324
+ /**
4325
+ * Call history, newest first.
4326
+ *
4327
+ * Optional. Allow call history on the app's Setup tab first; until then the answer is NO_PERMISSION. Only calls made through the phone app are listed; calls inside apps such as messengers usually are not. The MCP server lists this tool only when --tools names it.
4328
+ *
4329
+ * @param type Which calls. Default: "all".
4330
+ * @param number Only calls whose number or saved name contains this. Spaces and dashes are ignored.
4331
+ * @param within Only calls from the last this many seconds. 0 means any time. Default: 0.
4332
+ * @param max Most calls to return, up to 500. Default: 20.
4333
+ * @param opts Optional parameters by name, see CallsOptions.
4334
+ * @example await d.calls({ type: "missed", within: 3600 })
4335
+ */
4336
+ calls(opts?: CallsOptions): Promise<Array<Call>>;
4337
+ /**
4338
+ * Call history, newest first.
4339
+ *
4340
+ * Optional. Allow call history on the app's Setup tab first; until then the answer is NO_PERMISSION. Only calls made through the phone app are listed; calls inside apps such as messengers usually are not. The MCP server lists this tool only when --tools names it.
4341
+ *
4342
+ * @param type Which calls. Default: "all".
4343
+ * @param number Only calls whose number or saved name contains this. Spaces and dashes are ignored.
4344
+ * @param within Only calls from the last this many seconds. 0 means any time. Default: 0.
4345
+ * @param max Most calls to return, up to 500. Default: 20.
4346
+ * @param opts Optional parameters by name, see CallsOptions.
4347
+ * @example await d.calls({ type: "missed", within: 3600 })
4348
+ */
4349
+ calls(type?: "all" | "incoming" | "outgoing" | "missed" | "rejected" | "blocked", opts?: CallsOptions): Promise<Array<Call>>;
4350
+ /**
4351
+ * Call history, newest first.
4352
+ *
4353
+ * Optional. Allow call history on the app's Setup tab first; until then the answer is NO_PERMISSION. Only calls made through the phone app are listed; calls inside apps such as messengers usually are not. The MCP server lists this tool only when --tools names it.
4354
+ *
4355
+ * @param type Which calls. Default: "all".
4356
+ * @param number Only calls whose number or saved name contains this. Spaces and dashes are ignored.
4357
+ * @param within Only calls from the last this many seconds. 0 means any time. Default: 0.
4358
+ * @param max Most calls to return, up to 500. Default: 20.
4359
+ * @param opts Optional parameters by name, see CallsOptions.
4360
+ * @example await d.calls({ type: "missed", within: 3600 })
4361
+ */
4362
+ calls(type?: "all" | "incoming" | "outgoing" | "missed" | "rejected" | "blocked", number?: string, opts?: CallsOptions): Promise<Array<Call>>;
4363
+ /**
4364
+ * Call history, newest first.
4365
+ *
4366
+ * Optional. Allow call history on the app's Setup tab first; until then the answer is NO_PERMISSION. Only calls made through the phone app are listed; calls inside apps such as messengers usually are not. The MCP server lists this tool only when --tools names it.
4367
+ *
4368
+ * @param type Which calls. Default: "all".
4369
+ * @param number Only calls whose number or saved name contains this. Spaces and dashes are ignored.
4370
+ * @param within Only calls from the last this many seconds. 0 means any time. Default: 0.
4371
+ * @param max Most calls to return, up to 500. Default: 20.
4372
+ * @param opts Optional parameters by name, see CallsOptions.
4373
+ * @example await d.calls({ type: "missed", within: 3600 })
4374
+ */
4375
+ calls(type?: "all" | "incoming" | "outgoing" | "missed" | "rejected" | "blocked", number?: string, within?: number, opts?: CallsOptions): Promise<Array<Call>>;
4376
+ /**
4377
+ * Call history, newest first.
4378
+ *
4379
+ * Optional. Allow call history on the app's Setup tab first; until then the answer is NO_PERMISSION. Only calls made through the phone app are listed; calls inside apps such as messengers usually are not. The MCP server lists this tool only when --tools names it.
4380
+ *
4381
+ * @param type Which calls. Default: "all".
4382
+ * @param number Only calls whose number or saved name contains this. Spaces and dashes are ignored.
4383
+ * @param within Only calls from the last this many seconds. 0 means any time. Default: 0.
4384
+ * @param max Most calls to return, up to 500. Default: 20.
4385
+ * @param opts Optional parameters by name, see CallsOptions.
4386
+ * @example await d.calls({ type: "missed", within: 3600 })
4387
+ */
4388
+ calls(type?: "all" | "incoming" | "outgoing" | "missed" | "rejected" | "blocked", number?: string, within?: number, max?: number, opts?: CallsOptions): Promise<Array<Call>>;
4389
+ /**
4390
+ * Contacts saved on the phone, by name.
4391
+ *
4392
+ * Optional. Allow contacts on the app's Setup tab first; until then the answer is NO_PERMISSION. The MCP server lists this tool only when --tools names it.
4393
+ *
4394
+ * @param query Only contacts whose name, number or email contains this, ignoring case. Spaces and dashes in numbers are ignored.
4395
+ * @param max Most contacts to return, up to 500. Default: 50.
4396
+ * @param opts Optional parameters by name, see ContactsOptions.
4397
+ * @example await d.contacts("Kim")
4398
+ */
4399
+ contacts(opts?: ContactsOptions): Promise<Array<Contact>>;
4400
+ /**
4401
+ * Contacts saved on the phone, by name.
4402
+ *
4403
+ * Optional. Allow contacts on the app's Setup tab first; until then the answer is NO_PERMISSION. The MCP server lists this tool only when --tools names it.
4404
+ *
4405
+ * @param query Only contacts whose name, number or email contains this, ignoring case. Spaces and dashes in numbers are ignored.
4406
+ * @param max Most contacts to return, up to 500. Default: 50.
4407
+ * @param opts Optional parameters by name, see ContactsOptions.
4408
+ * @example await d.contacts("Kim")
4409
+ */
4410
+ contacts(query?: string, opts?: ContactsOptions): Promise<Array<Contact>>;
4411
+ /**
4412
+ * Contacts saved on the phone, by name.
4413
+ *
4414
+ * Optional. Allow contacts on the app's Setup tab first; until then the answer is NO_PERMISSION. The MCP server lists this tool only when --tools names it.
4415
+ *
4416
+ * @param query Only contacts whose name, number or email contains this, ignoring case. Spaces and dashes in numbers are ignored.
4417
+ * @param max Most contacts to return, up to 500. Default: 50.
4418
+ * @param opts Optional parameters by name, see ContactsOptions.
4419
+ * @example await d.contacts("Kim")
4420
+ */
4421
+ contacts(query?: string, max?: number, opts?: ContactsOptions): Promise<Array<Contact>>;
3296
4422
  }
3297
4423
  /** Commands the PC server answers itself. Droidline extends this and implements _run. */
3298
4424
  export declare abstract class ClientCommands extends EventEmitter {