/*
 * Copyright (c) 2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
declare let b: number;
declare var c: string;
declare const d: boolean;
export const e = 1;
declare class C1 {
    f1: number;
    f2(): boolean;
    f3: () => {};
}
declare interface I {
    f1: number;
    f2(): I;
    f3: () => {};
}
declare type t = number | string | t[];
declare function a(j: C1, k: {
    a: E2;
}): {
    a: t;
};
declare enum f {
    a,
    b,
    c
}
declare const enum E2 {
    e,
    f,
    g,
    c
}
declare namespace g {
    let b: number;
    var c: string;
    const d: boolean;
    export const e = 1;
    class C1 {
        f1: number;
        f2(): boolean;
        f3: () => {};
    }
    interface I {
        f1: number;
        f2(): g.I;
        f3: () => {};
    }
    type t = number | string | t[];
    function a(h: g.C1, i: {
        a: g.E2;
    }): {
        a: g.t;
    };
    enum f {
        a = 1,
        b,
        c
    }
    const enum E2 {
        e = 2,
        f,
        g,
        c
    }
}
