import { KNativePointer } from "../../src/reexport-for-generated";
import { Es2pandaAstNodeType } from "./../Es2pandaEnums";
import { Expression } from "./Expression";
import { TSTypeParameter } from "./TSTypeParameter";
import { varbinder } from "./varbinder";
export declare class TSTypeParameterDeclaration extends Expression {
    constructor(pointer: KNativePointer, astNodeType: Es2pandaAstNodeType);
    static createTSTypeParameterDeclaration(params: readonly TSTypeParameter[], requiredParams: number): TSTypeParameterDeclaration;
    static updateTSTypeParameterDeclaration(original: TSTypeParameterDeclaration | undefined, params: readonly TSTypeParameter[], requiredParams: number): TSTypeParameterDeclaration;
    /** @deprecated */
    setScope(source?: varbinder.LocalScope): this;
    get params(): readonly TSTypeParameter[];
    /** @deprecated */
    setParams(paramsList: readonly TSTypeParameter[]): this;
    /** @deprecated */
    addParam(param?: TSTypeParameter): this;
    /** @deprecated */
    setValueParams(source: TSTypeParameter | undefined, index: number): this;
    get requiredParams(): number;
    protected readonly brandTSTypeParameterDeclaration: undefined;
}
export declare function isTSTypeParameterDeclaration(node: object | undefined): node is TSTypeParameterDeclaration;
