/// /// interface SymbolConstructor { /** * A method that returns the default async iterator for an object. Called by the semantics of * the for-await-of statement. */ readonly asyncIterator: symbol; } interface AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...args: [] | [TNext]): Promise>; return?(value?: TReturn | PromiseLike): Promise>; throw?(e?: any): Promise>; } interface AsyncIterable { [Symbol.asyncIterator](): AsyncIterator; } interface AsyncIterableIterator extends AsyncIterator { [Symbol.asyncIterator](): AsyncIterableIterator; }