import { BaseNodeUnion } from '../base';
import { ContractBodyElementContext, SolidityParserVisitor } from '../../antlr4';
import { ConstructorDefinition, FallbackFunctionDefinition, FunctionDefinition, ReceiveFunctionDefinition } from './function-definition';
import { ModifierDefinition } from './modifier-definition';
import { StructDefinition } from './struct-definition';
import { EnumDefinition } from './enum-definition';
import { UserDefinedValueTypeDefinition } from './user-defined-value-type-definition';
import { StateVariableDeclaration } from './variable-declaration';
import { EventDefinition } from './event-definition';
import { ErrorDefinition } from './error-definition';
import { UsingDirective } from '../meta';
export type ContractBodyElementNode = ConstructorDefinition | FunctionDefinition | ModifierDefinition | FallbackFunctionDefinition | ReceiveFunctionDefinition | StructDefinition | EnumDefinition | UserDefinedValueTypeDefinition | StateVariableDeclaration | EventDefinition | ErrorDefinition | UsingDirective;
export declare class ContractBodyElement extends BaseNodeUnion<ConstructorDefinition | FunctionDefinition | ModifierDefinition | FallbackFunctionDefinition | ReceiveFunctionDefinition | StructDefinition | EnumDefinition | UserDefinedValueTypeDefinition | StateVariableDeclaration | EventDefinition | ErrorDefinition | UsingDirective> {
    constructor(ctx: ContractBodyElementContext, visitor: SolidityParserVisitor<any>);
}
