161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit ArkTS 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ci/** 2261847f8eSopenharmony_ci * Double-ended queue (deque) is a sequence container implemented based on the queue data structure that 2361847f8eSopenharmony_ci * follows the principles of First In First Out (FIFO) and Last In First Out (LIFO). 2461847f8eSopenharmony_ci * It allows insertion and removal of elements at both the ends. 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 2761847f8eSopenharmony_ci * @since 8 2861847f8eSopenharmony_ci */ 2961847f8eSopenharmony_ci/** 3061847f8eSopenharmony_ci * Double-ended queue (deque) is a sequence container implemented based on the queue data structure that 3161847f8eSopenharmony_ci * follows the principles of First In First Out (FIFO) and Last In First Out (LIFO). 3261847f8eSopenharmony_ci * It allows insertion and removal of elements at both the ends. 3361847f8eSopenharmony_ci * 3461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 3561847f8eSopenharmony_ci * @crossplatform 3661847f8eSopenharmony_ci * @since 10 3761847f8eSopenharmony_ci */ 3861847f8eSopenharmony_ci/** 3961847f8eSopenharmony_ci * Double-ended queue (deque) is a sequence container implemented based on the queue data structure that 4061847f8eSopenharmony_ci * follows the principles of First In First Out (FIFO) and Last In First Out (LIFO). 4161847f8eSopenharmony_ci * It allows insertion and removal of elements at both the ends. 4261847f8eSopenharmony_ci * 4361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 4461847f8eSopenharmony_ci * @crossplatform 4561847f8eSopenharmony_ci * @atomicservice 4661847f8eSopenharmony_ci * @since 12 4761847f8eSopenharmony_ci */ 4861847f8eSopenharmony_cideclare class Deque<T> { 4961847f8eSopenharmony_ci /** 5061847f8eSopenharmony_ci * A constructor used to create a Deque object. 5161847f8eSopenharmony_ci * 5261847f8eSopenharmony_ci * @throws { BusinessError } 10200012 - The Deque's constructor cannot be directly invoked. 5361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 5461847f8eSopenharmony_ci * @since 8 5561847f8eSopenharmony_ci */ 5661847f8eSopenharmony_ci /** 5761847f8eSopenharmony_ci * A constructor used to create a Deque object. 5861847f8eSopenharmony_ci * 5961847f8eSopenharmony_ci * @throws { BusinessError } 10200012 - The Deque's constructor cannot be directly invoked. 6061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 6161847f8eSopenharmony_ci * @crossplatform 6261847f8eSopenharmony_ci * @since 10 6361847f8eSopenharmony_ci */ 6461847f8eSopenharmony_ci /** 6561847f8eSopenharmony_ci * A constructor used to create a Deque object. 6661847f8eSopenharmony_ci * 6761847f8eSopenharmony_ci * @throws { BusinessError } 10200012 - The Deque's constructor cannot be directly invoked. 6861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 6961847f8eSopenharmony_ci * @crossplatform 7061847f8eSopenharmony_ci * @atomicservice 7161847f8eSopenharmony_ci * @since 12 7261847f8eSopenharmony_ci */ 7361847f8eSopenharmony_ci constructor(); 7461847f8eSopenharmony_ci /** 7561847f8eSopenharmony_ci * Gets the element number of the Deque.This is a number one higher than the highest index in the deque. 7661847f8eSopenharmony_ci * 7761847f8eSopenharmony_ci * @type { number } 7861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 7961847f8eSopenharmony_ci * @since 8 8061847f8eSopenharmony_ci */ 8161847f8eSopenharmony_ci /** 8261847f8eSopenharmony_ci * Gets the element number of the Deque.This is a number one higher than the highest index in the deque. 8361847f8eSopenharmony_ci * 8461847f8eSopenharmony_ci * @type { number } 8561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 8661847f8eSopenharmony_ci * @crossplatform 8761847f8eSopenharmony_ci * @since 10 8861847f8eSopenharmony_ci */ 8961847f8eSopenharmony_ci /** 9061847f8eSopenharmony_ci * Gets the element number of the Deque.This is a number one higher than the highest index in the deque. 9161847f8eSopenharmony_ci * 9261847f8eSopenharmony_ci * @type { number } 9361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 9461847f8eSopenharmony_ci * @crossplatform 9561847f8eSopenharmony_ci * @atomicservice 9661847f8eSopenharmony_ci * @since 12 9761847f8eSopenharmony_ci */ 9861847f8eSopenharmony_ci length: number; 9961847f8eSopenharmony_ci /** 10061847f8eSopenharmony_ci * Inserts an element into the deque header. 10161847f8eSopenharmony_ci * 10261847f8eSopenharmony_ci * @param { T } element - element element to be appended to this deque 10361847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The insertFront method cannot be bound. 10461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 10561847f8eSopenharmony_ci * @since 8 10661847f8eSopenharmony_ci */ 10761847f8eSopenharmony_ci /** 10861847f8eSopenharmony_ci * Inserts an element into the deque header. 10961847f8eSopenharmony_ci * 11061847f8eSopenharmony_ci * @param { T } element - element element to be appended to this deque 11161847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The insertFront method cannot be bound. 11261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 11361847f8eSopenharmony_ci * @crossplatform 11461847f8eSopenharmony_ci * @since 10 11561847f8eSopenharmony_ci */ 11661847f8eSopenharmony_ci /** 11761847f8eSopenharmony_ci * Inserts an element into the deque header. 11861847f8eSopenharmony_ci * 11961847f8eSopenharmony_ci * @param { T } element - element element to be appended to this deque 12061847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The insertFront method cannot be bound. 12161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 12261847f8eSopenharmony_ci * @crossplatform 12361847f8eSopenharmony_ci * @atomicservice 12461847f8eSopenharmony_ci * @since 12 12561847f8eSopenharmony_ci */ 12661847f8eSopenharmony_ci insertFront(element: T): void; 12761847f8eSopenharmony_ci /** 12861847f8eSopenharmony_ci * Inserting an element at the end of a deque 12961847f8eSopenharmony_ci * 13061847f8eSopenharmony_ci * @param { T } element - element element to be appended to this deque 13161847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The insertEnd method cannot be bound. 13261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 13361847f8eSopenharmony_ci * @since 8 13461847f8eSopenharmony_ci */ 13561847f8eSopenharmony_ci /** 13661847f8eSopenharmony_ci * Inserting an element at the end of a deque 13761847f8eSopenharmony_ci * 13861847f8eSopenharmony_ci * @param { T } element - element element to be appended to this deque 13961847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The insertEnd method cannot be bound. 14061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 14161847f8eSopenharmony_ci * @crossplatform 14261847f8eSopenharmony_ci * @since 10 14361847f8eSopenharmony_ci */ 14461847f8eSopenharmony_ci /** 14561847f8eSopenharmony_ci * Inserting an element at the end of a deque 14661847f8eSopenharmony_ci * 14761847f8eSopenharmony_ci * @param { T } element - element element to be appended to this deque 14861847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The insertEnd method cannot be bound. 14961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 15061847f8eSopenharmony_ci * @crossplatform 15161847f8eSopenharmony_ci * @atomicservice 15261847f8eSopenharmony_ci * @since 12 15361847f8eSopenharmony_ci */ 15461847f8eSopenharmony_ci insertEnd(element: T): void; 15561847f8eSopenharmony_ci /** 15661847f8eSopenharmony_ci * Check if deque contains the specified element 15761847f8eSopenharmony_ci * 15861847f8eSopenharmony_ci * @param { T } element - element element to be contained 15961847f8eSopenharmony_ci * @returns { boolean } the boolean type,if deque contains the specified element,return true,else return false 16061847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The has method cannot be bound. 16161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 16261847f8eSopenharmony_ci * @since 8 16361847f8eSopenharmony_ci */ 16461847f8eSopenharmony_ci /** 16561847f8eSopenharmony_ci * Check if deque contains the specified element 16661847f8eSopenharmony_ci * 16761847f8eSopenharmony_ci * @param { T } element - element element to be contained 16861847f8eSopenharmony_ci * @returns { boolean } the boolean type,if deque contains the specified element,return true,else return false 16961847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The has method cannot be bound. 17061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 17161847f8eSopenharmony_ci * @crossplatform 17261847f8eSopenharmony_ci * @since 10 17361847f8eSopenharmony_ci */ 17461847f8eSopenharmony_ci /** 17561847f8eSopenharmony_ci * Check if deque contains the specified element 17661847f8eSopenharmony_ci * 17761847f8eSopenharmony_ci * @param { T } element - element element to be contained 17861847f8eSopenharmony_ci * @returns { boolean } the boolean type,if deque contains the specified element,return true,else return false 17961847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The has method cannot be bound. 18061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 18161847f8eSopenharmony_ci * @crossplatform 18261847f8eSopenharmony_ci * @atomicservice 18361847f8eSopenharmony_ci * @since 12 18461847f8eSopenharmony_ci */ 18561847f8eSopenharmony_ci has(element: T): boolean; 18661847f8eSopenharmony_ci /** 18761847f8eSopenharmony_ci * Obtains the header element of a deque. 18861847f8eSopenharmony_ci * 18961847f8eSopenharmony_ci * @returns { T } the T type 19061847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The getFirst method cannot be bound. 19161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 19261847f8eSopenharmony_ci * @since 8 19361847f8eSopenharmony_ci */ 19461847f8eSopenharmony_ci /** 19561847f8eSopenharmony_ci * Obtains the header element of a deque. 19661847f8eSopenharmony_ci * 19761847f8eSopenharmony_ci * @returns { T } the T type 19861847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The getFirst method cannot be bound. 19961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 20061847f8eSopenharmony_ci * @crossplatform 20161847f8eSopenharmony_ci * @since 10 20261847f8eSopenharmony_ci */ 20361847f8eSopenharmony_ci /** 20461847f8eSopenharmony_ci * Obtains the header element of a deque. 20561847f8eSopenharmony_ci * 20661847f8eSopenharmony_ci * @returns { T } the T type 20761847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The getFirst method cannot be bound. 20861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 20961847f8eSopenharmony_ci * @crossplatform 21061847f8eSopenharmony_ci * @atomicservice 21161847f8eSopenharmony_ci * @since 12 21261847f8eSopenharmony_ci */ 21361847f8eSopenharmony_ci getFirst(): T; 21461847f8eSopenharmony_ci /** 21561847f8eSopenharmony_ci * Obtains the end element of a deque. 21661847f8eSopenharmony_ci * 21761847f8eSopenharmony_ci * @returns { T } the T type 21861847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The getLast method cannot be bound. 21961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 22061847f8eSopenharmony_ci * @since 8 22161847f8eSopenharmony_ci */ 22261847f8eSopenharmony_ci /** 22361847f8eSopenharmony_ci * Obtains the end element of a deque. 22461847f8eSopenharmony_ci * 22561847f8eSopenharmony_ci * @returns { T } the T type 22661847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The getLast method cannot be bound. 22761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 22861847f8eSopenharmony_ci * @crossplatform 22961847f8eSopenharmony_ci * @since 10 23061847f8eSopenharmony_ci */ 23161847f8eSopenharmony_ci /** 23261847f8eSopenharmony_ci * Obtains the end element of a deque. 23361847f8eSopenharmony_ci * 23461847f8eSopenharmony_ci * @returns { T } the T type 23561847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The getLast method cannot be bound. 23661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 23761847f8eSopenharmony_ci * @crossplatform 23861847f8eSopenharmony_ci * @atomicservice 23961847f8eSopenharmony_ci * @since 12 24061847f8eSopenharmony_ci */ 24161847f8eSopenharmony_ci getLast(): T; 24261847f8eSopenharmony_ci /** 24361847f8eSopenharmony_ci * Obtains the header element of a deque and delete the element. 24461847f8eSopenharmony_ci * 24561847f8eSopenharmony_ci * @returns { T } the T type 24661847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The popFirst method cannot be bound. 24761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 24861847f8eSopenharmony_ci * @since 8 24961847f8eSopenharmony_ci */ 25061847f8eSopenharmony_ci /** 25161847f8eSopenharmony_ci * Obtains the header element of a deque and delete the element. 25261847f8eSopenharmony_ci * 25361847f8eSopenharmony_ci * @returns { T } the T type 25461847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The popFirst method cannot be bound. 25561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 25661847f8eSopenharmony_ci * @crossplatform 25761847f8eSopenharmony_ci * @since 10 25861847f8eSopenharmony_ci */ 25961847f8eSopenharmony_ci /** 26061847f8eSopenharmony_ci * Obtains the header element of a deque and delete the element. 26161847f8eSopenharmony_ci * 26261847f8eSopenharmony_ci * @returns { T } the T type 26361847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The popFirst method cannot be bound. 26461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 26561847f8eSopenharmony_ci * @crossplatform 26661847f8eSopenharmony_ci * @atomicservice 26761847f8eSopenharmony_ci * @since 12 26861847f8eSopenharmony_ci */ 26961847f8eSopenharmony_ci popFirst(): T; 27061847f8eSopenharmony_ci /** 27161847f8eSopenharmony_ci * Obtains the end element of a deque and delete the element. 27261847f8eSopenharmony_ci * 27361847f8eSopenharmony_ci * @returns { T } the T type 27461847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The popLast method cannot be bound. 27561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 27661847f8eSopenharmony_ci * @since 8 27761847f8eSopenharmony_ci */ 27861847f8eSopenharmony_ci /** 27961847f8eSopenharmony_ci * Obtains the end element of a deque and delete the element. 28061847f8eSopenharmony_ci * 28161847f8eSopenharmony_ci * @returns { T } the T type 28261847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The popLast method cannot be bound. 28361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 28461847f8eSopenharmony_ci * @crossplatform 28561847f8eSopenharmony_ci * @since 10 28661847f8eSopenharmony_ci */ 28761847f8eSopenharmony_ci /** 28861847f8eSopenharmony_ci * Obtains the end element of a deque and delete the element. 28961847f8eSopenharmony_ci * 29061847f8eSopenharmony_ci * @returns { T } the T type 29161847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The popLast method cannot be bound. 29261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 29361847f8eSopenharmony_ci * @crossplatform 29461847f8eSopenharmony_ci * @atomicservice 29561847f8eSopenharmony_ci * @since 12 29661847f8eSopenharmony_ci */ 29761847f8eSopenharmony_ci popLast(): T; 29861847f8eSopenharmony_ci /** 29961847f8eSopenharmony_ci * Executes a provided function once for each value in the deque object. 30061847f8eSopenharmony_ci * 30161847f8eSopenharmony_ci * @param { function } callbackFn - callbackFn 30261847f8eSopenharmony_ci * callbackFn (required) A function that accepts up to three arguments. 30361847f8eSopenharmony_ci * The function to be called for each element. 30461847f8eSopenharmony_ci * @param { Object } [thisArg] - thisArg 30561847f8eSopenharmony_ci * thisArg (Optional) The value to be used as this value for when callbackFn is called. 30661847f8eSopenharmony_ci * If thisArg is omitted, undefined is used as the this value. 30761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 30861847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 30961847f8eSopenharmony_ci * 2.Incorrect parameter types. 31061847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The forEach method cannot be bound. 31161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 31261847f8eSopenharmony_ci * @since 8 31361847f8eSopenharmony_ci */ 31461847f8eSopenharmony_ci /** 31561847f8eSopenharmony_ci * Executes a provided function once for each value in the deque object. 31661847f8eSopenharmony_ci * 31761847f8eSopenharmony_ci * @param { function } callbackFn - callbackFn 31861847f8eSopenharmony_ci * callbackFn (required) A function that accepts up to three arguments. 31961847f8eSopenharmony_ci * The function to be called for each element. 32061847f8eSopenharmony_ci * @param { Object } [thisArg] - thisArg 32161847f8eSopenharmony_ci * thisArg (Optional) The value to be used as this value for when callbackFn is called. 32261847f8eSopenharmony_ci * If thisArg is omitted, undefined is used as the this value. 32361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 32461847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 32561847f8eSopenharmony_ci * 2.Incorrect parameter types. 32661847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The forEach method cannot be bound. 32761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 32861847f8eSopenharmony_ci * @crossplatform 32961847f8eSopenharmony_ci * @since 10 33061847f8eSopenharmony_ci */ 33161847f8eSopenharmony_ci /** 33261847f8eSopenharmony_ci * Executes a provided function once for each value in the deque object. 33361847f8eSopenharmony_ci * 33461847f8eSopenharmony_ci * @param { function } callbackFn - callbackFn 33561847f8eSopenharmony_ci * callbackFn (required) A function that accepts up to three arguments. 33661847f8eSopenharmony_ci * The function to be called for each element. 33761847f8eSopenharmony_ci * @param { Object } [thisArg] - thisArg 33861847f8eSopenharmony_ci * thisArg (Optional) The value to be used as this value for when callbackFn is called. 33961847f8eSopenharmony_ci * If thisArg is omitted, undefined is used as the this value. 34061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 34161847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 34261847f8eSopenharmony_ci * 2.Incorrect parameter types. 34361847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The forEach method cannot be bound. 34461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 34561847f8eSopenharmony_ci * @crossplatform 34661847f8eSopenharmony_ci * @atomicservice 34761847f8eSopenharmony_ci * @since 12 34861847f8eSopenharmony_ci */ 34961847f8eSopenharmony_ci forEach(callbackFn: (value: T, index?: number, deque?: Deque<T>) => void, thisArg?: Object): void; 35061847f8eSopenharmony_ci /** 35161847f8eSopenharmony_ci * returns an iterator.Each item of the iterator is a Javascript Object 35261847f8eSopenharmony_ci * 35361847f8eSopenharmony_ci * @returns { IterableIterator<T> } 35461847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The Symbol.iterator method cannot be bound. 35561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 35661847f8eSopenharmony_ci * @since 8 35761847f8eSopenharmony_ci */ 35861847f8eSopenharmony_ci /** 35961847f8eSopenharmony_ci * returns an iterator.Each item of the iterator is a Javascript Object 36061847f8eSopenharmony_ci * 36161847f8eSopenharmony_ci * @returns { IterableIterator<T> } 36261847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The Symbol.iterator method cannot be bound. 36361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 36461847f8eSopenharmony_ci * @crossplatform 36561847f8eSopenharmony_ci * @since 10 36661847f8eSopenharmony_ci */ 36761847f8eSopenharmony_ci /** 36861847f8eSopenharmony_ci * returns an iterator.Each item of the iterator is a Javascript Object 36961847f8eSopenharmony_ci * 37061847f8eSopenharmony_ci * @returns { IterableIterator<T> } 37161847f8eSopenharmony_ci * @throws { BusinessError } 10200011 - The Symbol.iterator method cannot be bound. 37261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 37361847f8eSopenharmony_ci * @crossplatform 37461847f8eSopenharmony_ci * @atomicservice 37561847f8eSopenharmony_ci * @since 12 37661847f8eSopenharmony_ci */ 37761847f8eSopenharmony_ci [Symbol.iterator](): IterableIterator<T>; 37861847f8eSopenharmony_ci} 37961847f8eSopenharmony_ci 38061847f8eSopenharmony_ciexport default Deque; 381