xref: /php-src/ext/zip/php_zip.stub.php (revision ae3646db)
1<?php
2
3/** @generate-class-entries */
4
5/**
6 * @return resource|int|false
7 * @deprecated
8 */
9function zip_open(string $filename) {}
10
11/**
12 * @param resource $zip
13 * @deprecated
14 */
15function zip_close($zip): void {}
16
17/**
18 * @param resource $zip
19 * @return resource|false
20 * @deprecated
21 */
22function zip_read($zip) {}
23
24/**
25 * @param resource $zip_dp
26 * @param resource $zip_entry
27 * @deprecated
28 */
29function zip_entry_open($zip_dp, $zip_entry, string $mode = "rb"): bool {}
30
31/**
32 * @param resource $zip_entry
33 * @deprecated
34 */
35function zip_entry_close($zip_entry): bool {}
36
37/**
38 * @param resource $zip_entry
39 * @deprecated
40 */
41function zip_entry_read($zip_entry, int $len = 1024): string|false {}
42
43/**
44 * @param resource $zip_entry
45 * @deprecated
46 */
47function zip_entry_name($zip_entry): string|false {}
48
49/**
50 * @param resource $zip_entry
51 * @deprecated
52 */
53function zip_entry_compressedsize($zip_entry): int|false {}
54
55/**
56 * @param resource $zip_entry
57 * @deprecated
58 */
59function zip_entry_filesize($zip_entry): int|false {}
60
61/**
62 * @param resource $zip_entry
63 * @deprecated
64 */
65function zip_entry_compressionmethod($zip_entry): string|false {}
66
67class ZipArchive implements Countable
68{
69    /**
70     * @cvalue ZIP_CREATE
71     */
72    public const int CREATE = UNKNOWN;
73    /**
74     * @cvalue ZIP_EXCL
75     */
76    public const int EXCL = UNKNOWN;
77    /**
78     * @cvalue ZIP_CHECKCONS
79     */
80    public const int CHECKCONS = UNKNOWN;
81    /**
82     * @cvalue ZIP_OVERWRITE
83     */
84    public const int OVERWRITE = UNKNOWN;
85#ifdef ZIP_RDONLY
86    /**
87     * @cvalue ZIP_RDONLY
88     */
89    public const int RDONLY = UNKNOWN;
90#endif
91
92    /**
93     * @cvalue ZIP_FL_NOCASE
94     */
95    public const int FL_NOCASE = UNKNOWN;
96    /**
97     * @cvalue ZIP_FL_NODIR
98     */
99    public const int FL_NODIR = UNKNOWN;
100    /**
101     * @cvalue ZIP_FL_COMPRESSED
102     */
103    public const int FL_COMPRESSED = UNKNOWN;
104    /**
105     * @cvalue ZIP_FL_UNCHANGED
106     */
107    public const int FL_UNCHANGED = UNKNOWN;
108/* deprecated in libzip 1.10.0 */
109#ifdef ZIP_FL_RECOMPRESS
110    /**
111     * @cvalue ZIP_FL_RECOMPRESS
112     * @deprecated
113     */
114    public const int FL_RECOMPRESS = UNKNOWN;
115#endif
116    /**
117     * @cvalue ZIP_FL_ENCRYPTED
118     */
119    public const int FL_ENCRYPTED = UNKNOWN;
120    /**
121     * @cvalue ZIP_FL_OVERWRITE
122     */
123    public const int FL_OVERWRITE = UNKNOWN;
124    /**
125     * @cvalue ZIP_FL_LOCAL
126     */
127    public const int FL_LOCAL = UNKNOWN;
128    /**
129     * @cvalue ZIP_FL_CENTRAL
130     */
131    public const int FL_CENTRAL = UNKNOWN;
132
133    /* Default filename encoding policy. */
134
135    /**
136     * @cvalue ZIP_FL_ENC_GUESS
137     */
138    public const int FL_ENC_GUESS = UNKNOWN;
139    /**
140     * @cvalue ZIP_FL_ENC_RAW
141     */
142    public const int FL_ENC_RAW = UNKNOWN;
143    /**
144     * @cvalue ZIP_FL_ENC_STRICT
145     */
146    public const int FL_ENC_STRICT = UNKNOWN;
147    /**
148     * @cvalue ZIP_FL_ENC_UTF_8
149     */
150    public const int FL_ENC_UTF_8 = UNKNOWN;
151    /**
152     * @cvalue ZIP_FL_ENC_CP437
153     */
154    public const int FL_ENC_CP437 = UNKNOWN;
155
156    /**
157     * Additionnal flags not from libzip
158     * @cvalue ZIP_FL_OPEN_FILE_NOW
159     */
160    public const int FL_OPEN_FILE_NOW = UNKNOWN;
161
162    /**
163     * @cvalue ZIP_CM_DEFAULT
164     */
165    public const int CM_DEFAULT = UNKNOWN;
166    /**
167     * @cvalue ZIP_CM_STORE
168     */
169    public const int CM_STORE = UNKNOWN;
170    /**
171     * @cvalue ZIP_CM_SHRINK
172     */
173    public const int CM_SHRINK = UNKNOWN;
174    /**
175     * @cvalue ZIP_CM_REDUCE_1
176     */
177    public const int CM_REDUCE_1 = UNKNOWN;
178    /**
179     * @cvalue ZIP_CM_REDUCE_2
180     */
181    public const int CM_REDUCE_2 = UNKNOWN;
182    /**
183     * @cvalue ZIP_CM_REDUCE_3
184     */
185    public const int CM_REDUCE_3 = UNKNOWN;
186    /**
187     * @cvalue ZIP_CM_REDUCE_4
188     */
189    public const int CM_REDUCE_4 = UNKNOWN;
190    /**
191     * @cvalue ZIP_CM_IMPLODE
192     */
193    public const int CM_IMPLODE = UNKNOWN;
194    /**
195     * @cvalue ZIP_CM_DEFLATE
196     */
197    public const int CM_DEFLATE = UNKNOWN;
198    /**
199     * @cvalue ZIP_CM_DEFLATE64
200     */
201    public const int CM_DEFLATE64 = UNKNOWN;
202    /**
203     * @cvalue ZIP_CM_PKWARE_IMPLODE
204     */
205    public const int CM_PKWARE_IMPLODE = UNKNOWN;
206    /**
207     * @cvalue ZIP_CM_BZIP2
208     */
209    public const int CM_BZIP2 = UNKNOWN;
210    /**
211     * @cvalue ZIP_CM_LZMA
212     */
213    public const int CM_LZMA = UNKNOWN;
214#ifdef ZIP_CM_LZMA2
215    /**
216     * @cvalue ZIP_CM_LZMA2
217     */
218    public const int CM_LZMA2 = UNKNOWN;
219#endif
220
221#ifdef ZIP_CM_ZSTD
222    /**
223     * @cvalue ZIP_CM_ZSTD
224     */
225    public const int CM_ZSTD = UNKNOWN;
226#endif
227#ifdef ZIP_CM_XZ
228    /**
229     * @cvalue ZIP_CM_XZ
230     */
231    public const int CM_XZ = UNKNOWN;
232#endif
233    /**
234     * @cvalue ZIP_CM_TERSE
235     */
236    public const int CM_TERSE = UNKNOWN;
237    /**
238     * @cvalue ZIP_CM_LZ77
239     */
240    public const int CM_LZ77 = UNKNOWN;
241    /**
242     * @cvalue ZIP_CM_WAVPACK
243     */
244    public const int CM_WAVPACK = UNKNOWN;
245    /**
246     * @cvalue ZIP_CM_PPMD
247     */
248    public const int CM_PPMD = UNKNOWN;
249
250    /* Error code */
251
252    /**
253     * N No error
254     * @cvalue ZIP_ER_OK
255     */
256    public const int ER_OK = UNKNOWN;
257    /**
258     * N Multi-disk zip archives not supported
259     * @cvalue ZIP_ER_MULTIDISK
260     */
261    public const int ER_MULTIDISK = UNKNOWN;
262    /**
263     * S Renaming temporary file failed
264     * @cvalue ZIP_ER_RENAME
265     */
266    public const int ER_RENAME = UNKNOWN;
267    /**
268     * S Closing zip archive failed
269     * @cvalue ZIP_ER_CLOSE
270     */
271    public const int ER_CLOSE = UNKNOWN;
272    /**
273     * S Seek error
274     * @cvalue ZIP_ER_SEEK
275     */
276    public const int ER_SEEK = UNKNOWN;
277    /**
278     * S Read error
279     * @cvalue ZIP_ER_READ
280     */
281    public const int ER_READ = UNKNOWN;
282    /**
283     * S Write error
284     * @cvalue ZIP_ER_WRITE
285     */
286    public const int ER_WRITE = UNKNOWN;
287    /**
288     * N CRC error
289     * @cvalue ZIP_ER_CRC
290     */
291    public const int ER_CRC = UNKNOWN;
292    /**
293     * N Containing zip archive was closed
294     * @cvalue ZIP_ER_ZIPCLOSED
295     */
296    public const int ER_ZIPCLOSED = UNKNOWN;
297    /**
298     * N No such file
299     * @cvalue ZIP_ER_NOENT
300     */
301    public const int ER_NOENT = UNKNOWN;
302    /**
303     * N File already exists
304     * @cvalue ZIP_ER_EXISTS
305     */
306    public const int ER_EXISTS = UNKNOWN;
307    /**
308     * S Can't open file
309     * @cvalue ZIP_ER_OPEN
310     */
311    public const int ER_OPEN = UNKNOWN;
312    /**
313     * S Failure to create temporary file
314     * @cvalue ZIP_ER_TMPOPEN
315     */
316    public const int ER_TMPOPEN = UNKNOWN;
317    /**
318     * Z Zlib error
319     * @cvalue ZIP_ER_ZLIB
320     */
321    public const int ER_ZLIB = UNKNOWN;
322    /**
323     * N Malloc failure
324     * @cvalue ZIP_ER_MEMORY
325     */
326    public const int ER_MEMORY = UNKNOWN;
327    /**
328     * N Entry has been changed
329     * @cvalue ZIP_ER_CHANGED
330     */
331    public const int ER_CHANGED = UNKNOWN;
332    /**
333     * N Compression method not supported
334     * @cvalue ZIP_ER_COMPNOTSUPP
335     */
336    public const int ER_COMPNOTSUPP = UNKNOWN;
337    /**
338     * N Premature EOF
339     * @cvalue ZIP_ER_EOF
340     */
341    public const int ER_EOF = UNKNOWN;
342    /**
343     * N Invalid argument
344     * @cvalue ZIP_ER_INVAL
345     */
346    public const int ER_INVAL = UNKNOWN;
347    /**
348     * N Not a zip archive
349     * @cvalue ZIP_ER_NOZIP
350     */
351    public const int ER_NOZIP = UNKNOWN;
352    /**
353     * N Internal error
354     * @cvalue ZIP_ER_INTERNAL
355     */
356    public const int ER_INTERNAL = UNKNOWN;
357    /**
358     * N Zip archive inconsistent
359     * @cvalue ZIP_ER_INCONS
360     */
361    public const int ER_INCONS = UNKNOWN;
362    /**
363     * S Can't remove file
364     * @cvalue ZIP_ER_REMOVE
365     */
366    public const int ER_REMOVE = UNKNOWN;
367    /**
368     * N Entry has been deleted
369     * @cvalue ZIP_ER_DELETED
370     */
371    public const int ER_DELETED = UNKNOWN;
372    /**
373     * N Encryption method not supported
374     * @cvalue ZIP_ER_ENCRNOTSUPP
375     */
376    public const int ER_ENCRNOTSUPP = UNKNOWN;
377    /**
378     * N Read-only archive
379     * @cvalue ZIP_ER_RDONLY
380     */
381    public const int ER_RDONLY = UNKNOWN;
382    /**
383     * N Entry has been deleted
384     * @cvalue ZIP_ER_NOPASSWD
385     */
386    public const int ER_NOPASSWD = UNKNOWN;
387    /**
388     * N Wrong password provided
389     * @cvalue ZIP_ER_WRONGPASSWD
390     */
391    public const int ER_WRONGPASSWD = UNKNOWN;
392
393    /* since 1.0.0 */
394#ifdef ZIP_ER_OPNOTSUPP
395    /**
396     * N Operation not supported
397     * @cvalue ZIP_ER_OPNOTSUPP
398     */
399    public const int ER_OPNOTSUPP = UNKNOWN;
400#endif
401#ifdef ZIP_ER_INUSE
402    /**
403     * N Resource still in use
404     * @cvalue ZIP_ER_INUSE
405     */
406    public const int ER_INUSE = UNKNOWN;
407#endif
408#ifdef ZIP_ER_TELL
409    /**
410     * S Tell error
411     * @cvalue ZIP_ER_TELL
412     */
413    public const int ER_TELL = UNKNOWN;
414#endif
415
416    /* since 1.6.0 */
417#ifdef ZIP_ER_COMPRESSED_DATA
418    /**
419     * N Compressed data invalid
420     * @cvalue ZIP_ER_COMPRESSED_DATA
421     */
422    public const int ER_COMPRESSED_DATA = UNKNOWN;
423#endif
424#ifdef ZIP_ER_CANCELLED
425    /**
426     * N Operation cancelled
427     * @cvalue ZIP_ER_CANCELLED
428     */
429    public const int ER_CANCELLED = UNKNOWN;
430#endif
431
432    /* since 1.10.0 */
433#ifdef ZIP_ER_DATA_LENGTH
434    /**
435     * N Unexpected length of data
436     * @cvalue ZIP_ER_DATA_LENGTH
437     */
438    public const int ER_DATA_LENGTH = UNKNOWN;
439#endif
440#ifdef ZIP_ER_NOT_ALLOWED
441    /**
442     * Not allowed in torrentzip
443     * @cvalue ZIP_ER_NOT_ALLOWED
444     */
445    public const int ER_NOT_ALLOWED = UNKNOWN;
446#endif
447#ifdef ZIP_AFL_RDONLY
448    /**
449     * read only -- cannot be cleared
450     * @cvalue ZIP_AFL_RDONLY
451     */
452    public const int AFL_RDONLY = UNKNOWN;
453#endif
454#ifdef ZIP_AFL_IS_TORRENTZIP
455    /**
456     * current archive is torrentzipped
457     * @cvalue ZIP_AFL_IS_TORRENTZIP
458     */
459    public const int AFL_IS_TORRENTZIP = UNKNOWN;
460#endif
461#ifdef ZIP_AFL_WANT_TORRENTZIP
462    /**
463     * write archive in torrentzip format
464     * @cvalue ZIP_AFL_WANT_TORRENTZIP
465     */
466    public const int AFL_WANT_TORRENTZIP = UNKNOWN;
467#endif
468#ifdef ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE
469    /**
470     * don't remove file if archive is empty
471     * @cvalue ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE
472     */
473    public const int AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE = UNKNOWN;
474#endif
475
476#ifdef ZIP_OPSYS_DEFAULT
477    /**
478     * @cvalue ZIP_OPSYS_DOS
479     * @link ziparchive.constants.opsys
480     */
481    public const int OPSYS_DOS = UNKNOWN;
482    /**
483     * @cvalue ZIP_OPSYS_AMIGA
484     * @link ziparchive.constants.opsys
485     */
486    public const int OPSYS_AMIGA = UNKNOWN;
487    /**
488     * @cvalue ZIP_OPSYS_OPENVMS
489     * @link ziparchive.constants.opsys
490     */
491    public const int OPSYS_OPENVMS = UNKNOWN;
492    /**
493     * @cvalue ZIP_OPSYS_UNIX
494     * @link ziparchive.constants.opsys
495     */
496    public const int OPSYS_UNIX = UNKNOWN;
497    /**
498     * @cvalue ZIP_OPSYS_VM_CMS
499     * @link ziparchive.constants.opsys
500     */
501    public const int OPSYS_VM_CMS = UNKNOWN;
502    /**
503     * @cvalue ZIP_OPSYS_ATARI_ST
504     * @link ziparchive.constants.opsys
505     */
506    public const int OPSYS_ATARI_ST = UNKNOWN;
507    /**
508     * @cvalue ZIP_OPSYS_OS_2
509     * @link ziparchive.constants.opsys
510     */
511    public const int OPSYS_OS_2 = UNKNOWN;
512    /**
513     * @cvalue ZIP_OPSYS_MACINTOSH
514     * @link ziparchive.constants.opsys
515     */
516    public const int OPSYS_MACINTOSH = UNKNOWN;
517    /**
518     * @cvalue ZIP_OPSYS_Z_SYSTEM
519     * @link ziparchive.constants.opsys
520     */
521    public const int OPSYS_Z_SYSTEM = UNKNOWN;
522    /**
523     * @cvalue ZIP_OPSYS_CPM
524     * @link ziparchive.constants.opsys
525     */
526    public const int OPSYS_CPM = UNKNOWN;
527    /**
528     * @cvalue ZIP_OPSYS_WINDOWS_NTFS
529     * @link ziparchive.constants.opsys
530     */
531    public const int OPSYS_WINDOWS_NTFS = UNKNOWN;
532    /**
533     * @cvalue ZIP_OPSYS_MVS
534     * @link ziparchive.constants.opsys
535     */
536    public const int OPSYS_MVS = UNKNOWN;
537    /**
538     * @cvalue ZIP_OPSYS_VSE
539     * @link ziparchive.constants.opsys
540     */
541    public const int OPSYS_VSE = UNKNOWN;
542    /**
543     * @cvalue ZIP_OPSYS_ACORN_RISC
544     * @link ziparchive.constants.opsys
545     */
546    public const int OPSYS_ACORN_RISC = UNKNOWN;
547    /**
548     * @cvalue ZIP_OPSYS_VFAT
549     * @link ziparchive.constants.opsys
550     */
551    public const int OPSYS_VFAT = UNKNOWN;
552    /**
553     * @cvalue ZIP_OPSYS_ALTERNATE_MVS
554     * @link ziparchive.constants.opsys
555     */
556    public const int OPSYS_ALTERNATE_MVS = UNKNOWN;
557    /**
558     * @cvalue ZIP_OPSYS_BEOS
559     * @link ziparchive.constants.opsys
560     */
561    public const int OPSYS_BEOS = UNKNOWN;
562    /**
563     * @cvalue ZIP_OPSYS_TANDEM
564     * @link ziparchive.constants.opsys
565     */
566    public const int OPSYS_TANDEM = UNKNOWN;
567    /**
568     * @cvalue ZIP_OPSYS_OS_400
569     * @link ziparchive.constants.opsys
570     */
571    public const int OPSYS_OS_400 = UNKNOWN;
572    /**
573     * @cvalue ZIP_OPSYS_OS_X
574     * @link ziparchive.constants.opsys
575     */
576    public const int OPSYS_OS_X = UNKNOWN;
577    /**
578     * @cvalue ZIP_OPSYS_DEFAULT
579     * @link ziparchive.constants.opsys
580     */
581    public const int OPSYS_DEFAULT = UNKNOWN;
582#endif
583
584    /**
585     * @cvalue ZIP_EM_NONE
586     */
587    public const int EM_NONE = UNKNOWN;
588    /**
589     * @cvalue ZIP_EM_TRAD_PKWARE
590     */
591    public const int EM_TRAD_PKWARE = UNKNOWN;
592#ifdef HAVE_ENCRYPTION
593    /**
594     * @cvalue ZIP_EM_AES_128
595     */
596    public const int EM_AES_128 = UNKNOWN;
597    /**
598     * @cvalue ZIP_EM_AES_192
599     */
600    public const int EM_AES_192 = UNKNOWN;
601    /**
602     * @cvalue ZIP_EM_AES_256
603     */
604    public const int EM_AES_256 = UNKNOWN;
605#endif
606    /**
607     * @cvalue ZIP_EM_UNKNOWN
608     */
609    public const int EM_UNKNOWN = UNKNOWN;
610
611    /**
612     * @cvalue LIBZIP_VERSION_STR
613     */
614    public const string LIBZIP_VERSION = UNKNOWN;
615
616    /**
617     * @cvalue ZIP_LENGTH_TO_END
618     */
619    public const int LENGTH_TO_END = UNKNOWN;
620    /* since 1.10.1 */
621#ifdef ZIP_LENGTH_UNCHECKED
622    /**
623     * @cvalue ZIP_LENGTH_UNCHECKED
624     */
625    public const int LENGTH_UNCHECKED = UNKNOWN;
626#endif
627
628    /** @readonly */
629    public int $lastId;
630    /** @readonly */
631    public int $status;
632    /** @readonly */
633    public int $statusSys;
634    /** @readonly */
635    public int $numFiles;
636    /** @readonly */
637    public string $filename;
638    /** @readonly */
639    public string $comment;
640
641    /** @tentative-return-type */
642    public function open(string $filename, int $flags = 0): bool|int {}
643
644    /**
645     * @tentative-return-type
646     */
647    public function setPassword(#[\SensitiveParameter] string $password): bool {}
648
649    /** @tentative-return-type */
650    public function close(): bool {}
651
652    /** @tentative-return-type */
653    public function count(): int {}
654
655    /** @tentative-return-type */
656    public function getStatusString(): string {}
657
658    public function clearError(): void {}
659
660    /** @tentative-return-type */
661    public function addEmptyDir(string $dirname, int $flags = 0): bool {}
662
663    /** @tentative-return-type */
664    public function addFromString(string $name, string $content, int $flags = ZipArchive::FL_OVERWRITE): bool {}
665
666    /** @tentative-return-type */
667    public function addFile(string $filepath, string $entryname = "", int $start = 0, int $length = ZipArchive::LENGTH_TO_END, int $flags = ZipArchive::FL_OVERWRITE): bool {}
668
669    /** @tentative-return-type */
670    public function replaceFile(string $filepath, int $index, int $start = 0, int $length = ZipArchive::LENGTH_TO_END, int $flags = 0): bool {}
671
672    /** @tentative-return-type */
673    public function addGlob(string $pattern, int $flags = 0, array $options = []): array|false {}
674
675    /** @tentative-return-type */
676    public function addPattern(string $pattern, string $path = ".", array $options = []): array|false {}
677
678    /** @tentative-return-type */
679    public function renameIndex(int $index, string $new_name): bool {}
680
681    /** @tentative-return-type */
682    public function renameName(string $name, string $new_name): bool {}
683
684    /** @tentative-return-type */
685    public function setArchiveComment(string $comment): bool {}
686
687    /** @tentative-return-type */
688    public function getArchiveComment(int $flags = 0): string|false {}
689
690    public function setArchiveFlag(int $flag, int $value): bool {}
691
692    public function getArchiveFlag(int $flag, int $flags = 0): int {}
693
694    /** @tentative-return-type */
695    public function setCommentIndex(int $index, string $comment): bool {}
696
697    /** @tentative-return-type */
698    public function setCommentName(string $name, string $comment): bool {}
699
700#ifdef HAVE_SET_MTIME
701    /** @tentative-return-type */
702    public function setMtimeIndex(int $index, int $timestamp, int $flags = 0): bool {}
703
704    /** @tentative-return-type */
705    public function setMtimeName(string $name, int $timestamp, int $flags = 0): bool {}
706#endif
707
708    /** @tentative-return-type */
709    public function getCommentIndex(int $index, int $flags = 0): string|false {}
710
711    /** @tentative-return-type */
712    public function getCommentName(string $name, int $flags = 0): string|false {}
713
714    /** @tentative-return-type */
715    public function deleteIndex(int $index): bool {}
716
717    /** @tentative-return-type */
718    public function deleteName(string $name): bool {}
719
720    /** @tentative-return-type */
721    public function statName(string $name, int $flags = 0): array|false {}
722
723    /** @tentative-return-type */
724    public function statIndex(int $index, int $flags = 0): array|false {}
725
726    /** @tentative-return-type */
727    public function locateName(string $name, int $flags = 0): int|false {}
728
729    /** @tentative-return-type */
730    public function getNameIndex(int $index, int $flags = 0): string|false {}
731
732    /** @tentative-return-type */
733    public function unchangeArchive(): bool {}
734
735    /** @tentative-return-type */
736    public function unchangeAll(): bool {}
737
738    /** @tentative-return-type */
739    public function unchangeIndex(int $index): bool {}
740
741    /** @tentative-return-type */
742    public function unchangeName(string $name): bool {}
743
744    /** @tentative-return-type */
745    public function extractTo(string $pathto, array|string|null $files = null): bool {}
746
747    /** @tentative-return-type */
748    public function getFromName(string $name, int $len = 0, int $flags = 0): string|false {}
749
750    /** @tentative-return-type */
751    public function getFromIndex(int $index, int $len = 0, int $flags = 0): string|false {}
752
753    /** @return resource|false */
754    public function getStreamIndex(int $index, int $flags = 0) {}
755
756    /** @return resource|false */
757    public function getStreamName(string $name, int $flags = 0) {}
758
759	/** @return resource|false */
760    public function getStream(string $name) {}
761
762#ifdef ZIP_OPSYS_DEFAULT
763    /** @tentative-return-type */
764    public function setExternalAttributesName(string $name, int $opsys, int $attr, int $flags = 0): bool {}
765
766    /** @tentative-return-type */
767    public function setExternalAttributesIndex(int $index, int $opsys, int $attr, int $flags = 0): bool {}
768
769    /**
770     * @param int $opsys
771     * @param int $attr
772     * @tentative-return-type
773     */
774    public function getExternalAttributesName(string $name, &$opsys, &$attr, int $flags = 0): bool {}
775
776    /**
777     * @param int $opsys
778     * @param int $attr
779     * @tentative-return-type
780     */
781    public function getExternalAttributesIndex(int $index, &$opsys, &$attr, int $flags = 0): bool {}
782#endif
783
784    /** @tentative-return-type */
785    public function setCompressionName(string $name, int $method, int $compflags = 0): bool {}
786
787    /** @tentative-return-type */
788    public function setCompressionIndex(int $index, int $method, int $compflags = 0): bool {}
789
790#ifdef HAVE_ENCRYPTION
791    /**
792     * @tentative-return-type
793     */
794    public function setEncryptionName(string $name, int $method, #[\SensitiveParameter] ?string $password = null): bool {}
795
796    /**
797     * @tentative-return-type
798     */
799    public function setEncryptionIndex(int $index, int $method, #[\SensitiveParameter] ?string $password = null): bool {}
800#endif
801
802#ifdef HAVE_PROGRESS_CALLBACK
803    /** @tentative-return-type */
804    public function registerProgressCallback(float $rate, callable $callback): bool {}
805#endif
806
807#ifdef HAVE_CANCEL_CALLBACK
808    /** @tentative-return-type */
809    public function registerCancelCallback(callable $callback): bool {}
810#endif
811
812#ifdef HAVE_METHOD_SUPPORTED
813    public static function isCompressionMethodSupported(int $method, bool $enc = true): bool {}
814
815    public static function isEncryptionMethodSupported(int $method, bool $enc = true): bool {}
816#endif
817}
818