/*
 * 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.
 */
export declare class A {
    z1: B;
    static a2(v1: number, ...w1: string[]): void;
    b2(s1: number, t1: (defaultKeptPara3: number) => string, u1?: number): void;
    c2(q1?: number, ...r1: number[]): void;
    constructor(n1: number, o1: number, p1: (defaultKeptPara4: number) => string);
    d2?: (defaultKeptPara1: number) => void;
    e2: (defaultKeptPara2: number) => number;
    f2(l1: (defaultKeptPara2: string) => number, m1: {
        g2: number;
        h2: string;
    }): void;
    i2(j1: (defaultKeptPara2: number) => number, k1: number): number;
    manualKeepMethod1(h1: (defaultKeptPara2: number) => number, i1: number): number;
}
declare class B {
    constructor(e1: number, f1: number, g1: (defaultKeptPara4: number) => string);
    j2?: (defaultKeptPara1: number) => void;
    l2(c1: (defaultKeptPara2: number) => number, d1: number): number;
    manualKeepMethod1(a1: (defaultKeptPara2: number) => number, b1: number): void;
}
export declare class manualKeepClassName {
    constructor(x: number, y: number, z: (defaultKeptPara4: number) => string);
    m2?: (defaultKeptPara1: number) => void;
    n2(v: (defaultKeptPara2: number) => number, w: number): number;
    manualKeepMethod1(t: (defaultKeptPara2: number) => number, u: number): void;
}
export interface C {
    l2(defaultKeptPara1: number, ...defaultKeptPara2: string[]): void;
    constructor(defaultKeptPara1: number): void;
    o2: (defaultKeptPara1: number, ...defaultKeptPara2: number[]) => void;
    q2: (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: string) => number) => string;
    s2(defaultKeptPara1: (defaultKeptPara2: string) => number, defaultKeptPara3: {
        g2: number;
        h2: string;
    }): void;
    t2(defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara3: number): void;
    manualKeepMethod1(defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara3: number): void;
}
export declare function foo1(s: number): void;
export declare function foo2(q: number, ...r: string[]): void;
export declare function foo3(p?: (defaultKeptPara2: number) => void): void;
declare function foo4(n: number, o?: (defaultKeptPara3: number) => void): void;
export declare function manualKeepFoo1(l: number, m?: (defaultKeptPara3: number) => void): void;
export declare let c: (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => void;
export declare let d: (defaultKeptPara1: number, defaultKeptPara2?: ((defaultKeptPara3: number) => void) | undefined) => void;
export declare function foo(j: number, k: {
    u2: number;
    v2: string;
}): void;
export declare let e: (defaultKeptPara1: number) => void;
export declare const sum: (defaultKeptPara1: number, defaultKeptPara2: number) => void;
export declare let myfun1: (defaultKeptPara1: (defaultKeptPara2: number) => number) => number;
export declare const sum2: (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: number) => number, ...defaultKeptPara4: string[]) => void;
export declare let a: (defaultKeptPara1: (defaultKeptPara2: number) => number, ...defaultKeptPara3: string[]) => void;
export declare let b: (defaultKeptPara1: (defaultKeptPara2: number) => number, defaultKeptPara3?: ((defaultKeptPara4: number) => void) | undefined) => void;
export declare let f: (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => void;
export declare let g: (defaultKeptPara1: number, defaultKeptPara2?: ((defaultKeptPara3: number) => void) | undefined) => void;
export type typeFunc = (defaultKeptPara1: number, ...defaultKeptPara2: string[]) => {};
export type typeFunc2 = (defaultKeptPara1: number, defaultKeptPara2: (defaultKeptPara3: number) => number) => {};
export interface person<T1> {
    method<T2>(): void;
}
export declare class person2<T3> {
    b2<i>(): void;
}
export declare function foo5<h>(): void;
export {};
