/*
 * 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 class k {
    h2: number;
    static method1(keptPara1: number, ...keptPara2: string[]): void;
    method2(keptPara1: number, keptPara2: (defaultKeptPara3: number) => string, para4?: number): void;
    method3(keptPara5?: number, ...keptPara6: number[]): void;
    constructor(e2: number, f2: number, g2: (defaultKeptPara4: number) => string);
    i2?: (defaultKeptPara1: number) => void;
    j2: (defaultKeptPara2: number) => number;
    method4(keptPara1: (defaultKeptPara2: string) => number, keptPara2: {
        l2: number;
        m2: string;
    }): void;
    n2(c2: (defaultKeptPara2: number) => number, d2: number): number;
    manualKeepMethod1(keptPara1: (defaultKeptPara2: number) => number, keptPara3: number): number;
}
declare class l {
    constructor(z1: number, a2: number, b2: (defaultKeptPara4: number) => string);
    field5?: (defaultKeptPara1: number) => void;
    method9(keptPara1: (defaultKeptPara2: number) => number, keptPara3: number): number;
    manualKeepMethod1(keptPara1: (defaultKeptPara2: number) => number, keptPara3: number): void;
}
interface m {
    o2(defaultKeptPara1: number, ...defaultKeptPara2: string[]): void;
    constructor(defaultKeptPara1: number): void;
    q2: (defaultKeptPara1: number, ...defaultKeptPara2: number[]) => void;
    s2: (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: string) => number) => string;
    t2(defaultKeptPara1: (defaultKeptPara2: string) => number, defaultKeptPara3: {
        l2: number;
        m2: string;
    }): void;
    u2(defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara3: number): void;
    manualKeepMethod1(defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara3: number): void;
}
declare function foo1(keptPara1: number): void;
declare function foo2(keptPara1: number, ...keptPara2: string[]): void;
declare function g(y1?: (defaultKeptPara2: number) => void): void;
declare function h(w1: number, x1?: (defaultKeptPara3: number) => void): void;
declare function manualKeepFoo1(keptPara1: number, keptPara2?: (defaultKeptPara3: number) => void): void;
declare let c: (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => void;
declare let d: (defaultKeptPara1: number, defaultKeptPara2?: ((defaultKeptPara3: number) => void) | undefined) => void;
declare function i(u1: number, v1: {
    v2: number;
    w2: string;
}): void;
declare let e: (defaultKeptPara1: number) => void;
declare const o: (defaultKeptPara1: number, defaultKeptPara2: number) => void;
declare let p: (defaultKeptPara1: (defaultKeptPara2: number) => number) => number;
declare const q: (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: number) => number, ...defaultKeptPara4: string[]) => void;
declare let a: (defaultKeptPara1: (defaultKeptPara2: number) => number, ...defaultKeptPara3: string[]) => void;
declare let b: (defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara3?: ((defaultKeptPara4: number) => void) | undefined) => void;
declare let f: (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => void;
declare let t: (defaultKeptPara1: number, defaultKeptPara2?: ((defaultKeptPara3: number) => void) | undefined) => void;
type u = (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => {};
type v = (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: number) => number) => {};
interface a1<T1> {
    method<T2>(): void;
}
declare class b1<T3> {
    method2<T4>(): void;
}
declare function j<t1>(): void;
declare namespace c1 {
    class k {
        h2: number;
        static method1(keptPara1: number, ...keptPara2: string[]): void;
        method2(keptPara1: number, keptPara2: (defaultKeptPara3: number) => string, para4?: number): void;
        method3(keptPara5?: number, ...keptPara6: number[]): void;
        constructor(q1: number, r1: number, s1: (defaultKeptPara4: number) => string);
        i2?: (defaultKeptPara1: number) => void;
        j2: (defaultKeptPara2: number) => number;
        method4(keptPara1: (defaultKeptPara2: string) => number, keptPara2: {
            l2: number;
            m2: string;
        }): void;
        n2(o1: (defaultKeptPara2: number) => number, p1: number): number;
        manualKeepMethod1(keptPara1: (defaultKeptPara2: number) => number, keptPara3: number): number;
    }
    class l {
        constructor(l1: number, m1: number, n1: (defaultKeptPara4: number) => string);
        field5?: (defaultKeptPara1: number) => void;
        method9(keptPara1: (defaultKeptPara2: number) => number, keptPara3: number): number;
        manualKeepMethod1(keptPara1: (defaultKeptPara2: number) => number, keptPara3: number): void;
    }
    interface m {
        o2(defaultKeptPara1: number, ...keptPdefaultKeptPara2ara2: string[]): void;
        constructor(defaultKeptPara1: number): void;
        q2: (defaultKeptPara1: number, ...defaultKeptPara2: number[]) => void;
        s2: (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: string) => number) => string;
        t2(defaultKeptPara1: (defaultKeptPara2: string) => number, defaultKeptPara3: {
            l2: number;
            m2: string;
        }): void;
        u2(defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara3: number): void;
        manualKeepMethod1(defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara3: number): void;
    }
    function foo1(keptPara1: number): void;
    function foo2(keptPara1: number, ...keptPara2: string[]): void;
    function g(k1?: (defaultKeptPara2: number) => void): void;
    function h(i1: number, j1?: (defaultKeptPara3: number) => void): void;
    function manualKeepFoo1(keptPara1: number, keptPara2?: (defaultKeptPara3: number) => void): void;
    let c: (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => void;
    let d: (defaultKeptPara1: number, defaultKeptPara2?: ((defaultKeptPara3: number) => void) | undefined) => void;
    function i(g1: number, h1: {
        v2: number;
        w2: string;
    }): void;
    let e: (defaultKeptPara1: number) => void;
    const o: (defaultKeptPara1: number, defaultKeptPara2: number) => void;
    let p: (defaultKeptPara1: (defaultKeptPara2: number) => number) => number;
    const q: (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: number) => number, ...defaultKeptPara4: string[]) => void;
    let a: (defaultKeptPara1: (defaultKeptPara2: number) => number, ...defaultKeptPara2: string[]) => void;
    let b: (defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara2?: ((defaultKeptPara4: number) => void) | undefined) => void;
    let f: (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => void;
    let t: (defaultKeptPara1: number, defaultKeptPara2?: ((defaultKeptPara3: number) => void) | undefined) => void;
    type u = (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => {};
    type v = (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: number) => number) => {};
    interface d1<T1> {
        method<T2>(): void;
    }
    class e1<T3> {
        method2<T4>(): void;
    }
    function j<f1>(): void;
}
