import { KNativePointer, ArktsObject } from "../../src/reexport-for-generated";
import { Expression } from "./Expression";
import { TSTypeParameterDeclaration } from "./TSTypeParameterDeclaration";
import { TypeNode } from "./TypeNode";
export declare class FunctionSignature extends ArktsObject {
    constructor(pointer: KNativePointer);
    static createFunctionSignature(typeParams: TSTypeParameterDeclaration | undefined, params: readonly Expression[], returnTypeAnnotation: TypeNode | undefined, hasReceiver: boolean): FunctionSignature;
    get params(): readonly Expression[];
    get typeParams(): TSTypeParameterDeclaration | undefined;
    /** @deprecated */
    setTypeParams(typeParams?: TSTypeParameterDeclaration): this;
    get returnType(): TypeNode | undefined;
    /** @deprecated */
    setReturnType(type?: TypeNode): this;
    get clone(): FunctionSignature | undefined;
    get hasReceiver(): boolean;
    protected readonly brandFunctionSignature: undefined;
}
export declare function isFunctionSignature(node: object | undefined): node is FunctionSignature;
