import type { AdditiveExpression, ArrayPrimaryExpression, BitwiseAndExpression, BitwiseExpression, BitwiseOrExpression, BitwiseShiftExpression, BitwiseXorExpression, BoolPrimaryExpression, CastOrConvertExpression, ClassConstructorDeclaration, ClassDeclaration, ClassMethodDeclaration, ClassPropertyDeclaration, ComparativeExpression, ConditionalExpression, DoWhileLoopIterationStatement, EqualityExpression, ExpressionStatement, ForLoopIterationStatement, FStringPrimaryExpression, FunctionCallExpression, FunctionDeclaration, GenericTypeSpecifierExpression, IdentifierPrimaryExpression, IdentifierTypeSpecifierExpression, IncrementOrDecrementPostfixExpression, IncrementOrDecrementUnaryExpression, InstanceOfExpression, InterfaceDeclaration, JumpStatement, KipperProgramContext, LambdaPrimaryExpression, LogicalAndExpression, LogicalExpression, LogicalOrExpression, MatchesExpression, MemberAccessExpression, MultiplicativeExpression, NewInstantiationExpression, NumberPrimaryExpression, ObjectPrimaryExpression, ObjectProperty, OperatorModifiedUnaryExpression, ParameterDeclaration, RelationalExpression, ReturnStatement, StringPrimaryExpression, SwitchStatement, TangledPrimaryExpression, TranslatedCodeLine, TranslatedExpression, TypeofExpression, TypeofTypeSpecifierExpression, VoidOrNullOrUndefinedPrimaryExpression, WhileLoopIterationStatement, InterfaceMethodDeclaration, InterfacePropertyDeclaration } from "@kipper/core";
import { AssignmentExpression, CompoundStatement, IfStatement, KipperTargetCodeGenerator, VariableDeclaration } from "@kipper/core";
export declare class JavaScriptTargetCodeGenerator extends KipperTargetCodeGenerator {
    setUp: (programCtx: KipperProgramContext, requirements: Array<TranslatedCodeLine>) => Promise<Array<TranslatedCodeLine>>;
    wrapUp: (programCtx: KipperProgramContext) => Promise<Array<TranslatedCodeLine>>;
    compoundStatement: (node: CompoundStatement) => Promise<Array<TranslatedCodeLine>>;
    ifStatement: (node: IfStatement) => Promise<Array<TranslatedCodeLine>>;
    switchStatement: (node: SwitchStatement) => Promise<Array<TranslatedCodeLine>>;
    expressionStatement: (node: ExpressionStatement) => Promise<Array<TranslatedCodeLine>>;
    doWhileLoopIterationStatement: (node: DoWhileLoopIterationStatement) => Promise<Array<TranslatedCodeLine>>;
    whileLoopIterationStatement: (node: WhileLoopIterationStatement) => Promise<Array<TranslatedCodeLine>>;
    forLoopIterationStatement: (node: ForLoopIterationStatement) => Promise<Array<TranslatedCodeLine>>;
    jumpStatement: (node: JumpStatement) => Promise<Array<TranslatedCodeLine>>;
    returnStatement: (node: ReturnStatement) => Promise<Array<TranslatedCodeLine>>;
    parameterDeclaration: (node: ParameterDeclaration) => Promise<Array<TranslatedCodeLine>>;
    functionDeclaration: (node: FunctionDeclaration) => Promise<Array<TranslatedCodeLine>>;
    variableDeclaration: (node: VariableDeclaration) => Promise<Array<TranslatedCodeLine>>;
    interfaceDeclaration: (node: InterfaceDeclaration) => Promise<Array<TranslatedCodeLine>>;
    interfacePropertyDeclaration: (node: InterfacePropertyDeclaration) => Promise<Array<TranslatedCodeLine>>;
    interfaceMethodDeclaration: (node: InterfaceMethodDeclaration) => Promise<Array<TranslatedCodeLine>>;
    classDeclaration: (node: ClassDeclaration) => Promise<Array<TranslatedCodeLine>>;
    newInstantiationExpression: (node: NewInstantiationExpression) => Promise<TranslatedExpression>;
    classPropertyDeclaration: (node: ClassPropertyDeclaration) => Promise<TranslatedCodeLine>;
    classMethodDeclaration: (node: ClassMethodDeclaration) => Promise<Array<TranslatedCodeLine>>;
    classConstructorDeclaration: (node: ClassConstructorDeclaration) => Promise<Array<TranslatedCodeLine>>;
    numberPrimaryExpression: (node: NumberPrimaryExpression) => Promise<TranslatedExpression>;
    arrayPrimaryExpression: (node: ArrayPrimaryExpression) => Promise<TranslatedExpression>;
    objectPrimaryExpression: (node: ObjectPrimaryExpression) => Promise<TranslatedExpression>;
    objectProperty: (node: ObjectProperty) => Promise<TranslatedExpression>;
    identifierPrimaryExpression: (node: IdentifierPrimaryExpression) => Promise<TranslatedExpression>;
    memberAccessExpression: (node: MemberAccessExpression) => Promise<TranslatedExpression>;
    identifierTypeSpecifierExpression: (node: IdentifierTypeSpecifierExpression) => Promise<TranslatedExpression>;
    genericTypeSpecifierExpression: (node: GenericTypeSpecifierExpression) => Promise<TranslatedExpression>;
    typeofTypeSpecifierExpression: (node: TypeofTypeSpecifierExpression) => Promise<TranslatedExpression>;
    stringPrimaryExpression: (node: StringPrimaryExpression) => Promise<TranslatedExpression>;
    fStringPrimaryExpression: (node: FStringPrimaryExpression) => Promise<TranslatedExpression>;
    boolPrimaryExpression: (node: BoolPrimaryExpression) => Promise<TranslatedExpression>;
    tangledPrimaryExpression: (node: TangledPrimaryExpression) => Promise<TranslatedExpression>;
    voidOrNullOrUndefinedPrimaryExpression: (node: VoidOrNullOrUndefinedPrimaryExpression) => Promise<TranslatedExpression>;
    incrementOrDecrementPostfixExpression: (node: IncrementOrDecrementPostfixExpression) => Promise<TranslatedExpression>;
    functionCallExpression: (node: FunctionCallExpression) => Promise<TranslatedExpression>;
    incrementOrDecrementUnaryExpression: (node: IncrementOrDecrementUnaryExpression) => Promise<TranslatedExpression>;
    operatorModifiedUnaryExpression: (node: OperatorModifiedUnaryExpression) => Promise<TranslatedExpression>;
    castOrConvertExpression: (node: CastOrConvertExpression) => Promise<TranslatedExpression>;
    multiplicativeExpression: (node: MultiplicativeExpression) => Promise<TranslatedExpression>;
    additiveExpression: (node: AdditiveExpression) => Promise<TranslatedExpression>;
    protected translateOperatorExpressionWithOperands: (node: ComparativeExpression | LogicalExpression | BitwiseExpression) => Promise<TranslatedExpression>;
    relationalExpression: (node: RelationalExpression) => Promise<TranslatedExpression>;
    equalityExpression: (node: EqualityExpression) => Promise<TranslatedExpression>;
    bitwiseOrExpression: (node: BitwiseOrExpression) => Promise<TranslatedExpression>;
    bitwiseAndExpression: (node: BitwiseAndExpression) => Promise<TranslatedExpression>;
    bitwiseXorExpression: (node: BitwiseXorExpression) => Promise<TranslatedExpression>;
    bitwiseShiftExpression: (node: BitwiseShiftExpression) => Promise<TranslatedExpression>;
    logicalAndExpression: (node: LogicalAndExpression) => Promise<TranslatedExpression>;
    logicalOrExpression: (node: LogicalOrExpression) => Promise<TranslatedExpression>;
    conditionalExpression: (node: ConditionalExpression) => Promise<TranslatedExpression>;
    assignmentExpression: (node: AssignmentExpression) => Promise<TranslatedExpression>;
    lambdaPrimaryExpression: (node: LambdaPrimaryExpression) => Promise<TranslatedExpression>;
    typeofExpression: (node: TypeofExpression) => Promise<TranslatedExpression>;
    matchesExpression: (node: MatchesExpression) => Promise<TranslatedExpression>;
    instanceOfExpression: (node: InstanceOfExpression) => Promise<TranslatedExpression>;
}
