1interface Array<T> {
2    /**
3     * Returns the item located at the specified index.
4     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
5     */
6    at(index: number): T | undefined;
7}
8
9interface ReadonlyArray<T> {
10    /**
11     * Returns the item located at the specified index.
12     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
13     */
14    at(index: number): T | undefined;
15}
16
17interface Int8Array {
18    /**
19     * Returns the item located at the specified index.
20     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
21     */
22    at(index: number): number | undefined;
23}
24
25interface Uint8Array {
26    /**
27     * Returns the item located at the specified index.
28     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
29     */
30    at(index: number): number | undefined;
31}
32
33interface Uint8ClampedArray {
34    /**
35     * Returns the item located at the specified index.
36     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
37     */
38    at(index: number): number | undefined;
39}
40
41interface Int16Array {
42    /**
43     * Returns the item located at the specified index.
44     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
45     */
46    at(index: number): number | undefined;
47}
48
49interface Uint16Array {
50    /**
51     * Returns the item located at the specified index.
52     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
53     */
54    at(index: number): number | undefined;
55}
56
57interface Int32Array {
58    /**
59     * Returns the item located at the specified index.
60     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
61     */
62    at(index: number): number | undefined;
63}
64
65interface Uint32Array {
66    /**
67     * Returns the item located at the specified index.
68     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
69     */
70    at(index: number): number | undefined;
71}
72
73interface Float32Array {
74    /**
75     * Returns the item located at the specified index.
76     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
77     */
78    at(index: number): number | undefined;
79}
80
81interface Float64Array {
82    /**
83     * Returns the item located at the specified index.
84     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
85     */
86    at(index: number): number | undefined;
87}
88
89interface BigInt64Array {
90    /**
91     * Returns the item located at the specified index.
92     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
93     */
94    at(index: number): bigint | undefined;
95}
96
97interface BigUint64Array {
98    /**
99     * Returns the item located at the specified index.
100     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
101     */
102    at(index: number): bigint | undefined;
103}
104