1/*! *****************************************************************************
2Copyright (c) Microsoft Corporation. All rights reserved.
3Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4this file except in compliance with the License. You may obtain a copy of the
5License at http://www.apache.org/licenses/LICENSE-2.0
6
7THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10MERCHANTABLITY OR NON-INFRINGEMENT.
11
12See the Apache Version 2.0 License for specific language governing permissions
13and limitations under the License.
14***************************************************************************** */
15
16
17
18/// <reference no-default-lib="true"/>
19
20
21interface ErrorOptions {
22    cause?: unknown;
23}
24
25interface Error {
26    cause?: unknown;
27}
28
29interface ErrorConstructor {
30    new (message?: string, options?: ErrorOptions): Error;
31    (message?: string, options?: ErrorOptions): Error;
32}
33
34interface EvalErrorConstructor {
35    new (message?: string, options?: ErrorOptions): EvalError;
36    (message?: string, options?: ErrorOptions): EvalError;
37}
38
39interface RangeErrorConstructor {
40    new (message?: string, options?: ErrorOptions): RangeError;
41    (message?: string, options?: ErrorOptions): RangeError;
42}
43
44interface ReferenceErrorConstructor {
45    new (message?: string, options?: ErrorOptions): ReferenceError;
46    (message?: string, options?: ErrorOptions): ReferenceError;
47}
48
49interface SyntaxErrorConstructor {
50    new (message?: string, options?: ErrorOptions): SyntaxError;
51    (message?: string, options?: ErrorOptions): SyntaxError;
52}
53
54interface TypeErrorConstructor {
55    new (message?: string, options?: ErrorOptions): TypeError;
56    (message?: string, options?: ErrorOptions): TypeError;
57}
58
59interface URIErrorConstructor {
60    new (message?: string, options?: ErrorOptions): URIError;
61    (message?: string, options?: ErrorOptions): URIError;
62}
63
64interface AggregateErrorConstructor {
65    new (
66        errors: Iterable<any>,
67        message?: string,
68        options?: ErrorOptions
69    ): AggregateError;
70    (
71        errors: Iterable<any>,
72        message?: string,
73        options?: ErrorOptions
74    ): AggregateError;
75}
76