import { AnnotationUsage, ClassDefinition, Expression, Identifier, MethodDefinition, TSClassImplements, TSTypeParameterDeclaration, TSTypeParameterInstantiation } from '../../../generated';
import { AstNode } from '../peers/AstNode';
import { Es2pandaClassDefinitionModifiers, Es2pandaModifierFlags } from '../../../generated/Es2pandaEnums';
export declare function createClassDefinition(ident: Identifier | undefined, typeParams: TSTypeParameterDeclaration | undefined, superTypeParams: TSTypeParameterInstantiation | undefined, _implements: readonly TSClassImplements[], ctor: MethodDefinition | undefined, superClass: Expression | undefined, body: readonly AstNode[], modifiers: Es2pandaClassDefinitionModifiers, flags: Es2pandaModifierFlags, annotations?: readonly AnnotationUsage[]): ClassDefinition;
export declare function updateClassDefinition(original: ClassDefinition, ident: Identifier | undefined, typeParams: TSTypeParameterDeclaration | undefined, superTypeParams: TSTypeParameterInstantiation | undefined, _implements: readonly TSClassImplements[], ctor: MethodDefinition | undefined, superClass: Expression | undefined, body: readonly AstNode[], modifiers: Es2pandaClassDefinitionModifiers, flags: Es2pandaModifierFlags, annotations?: readonly AnnotationUsage[]): ClassDefinition;
