import * as ts from "ts-morph";
import { CompilerState } from "../CompilerState";
import { HasParameters } from "../types";
export declare const nodeHasParameters: (ancestor: ts.Node<ts.ts.Node>) => ancestor is HasParameters;
export declare function compileReturnStatement(state: CompilerState, node: ts.ReturnStatement): string;
export declare function isFunctionExpressionMethod(node: ts.FunctionExpression): boolean;
export declare function isMethodDeclaration(node: ts.Node<ts.ts.Node>): node is ts.MethodDeclaration | ts.FunctionExpression;
export declare function compileFunctionDeclaration(state: CompilerState, node: ts.FunctionDeclaration): string;
export declare function compileMethodDeclaration(state: CompilerState, node: ts.MethodDeclaration, namePrefix: string): string;
export declare function compileConstructorDeclaration(state: CompilerState, classExp: ts.ClassDeclaration | ts.ClassExpression, className: string, node: ts.ConstructorDeclaration | undefined, extraInitializers: Array<string>, hasSuper: boolean, isRoact: boolean): string;
export declare function compileFunctionExpression(state: CompilerState, node: ts.FunctionExpression | ts.ArrowFunction): string;
