import { IDLNode } from "./IDLNode";
import { AnyIDLNode, IEnumIDLNode, ITypedefIDLNode, IUnionIDLNode } from "./interfaces";
import { UnionASTNode } from "../astTypes";
import { Case, IDLMessageDefinition, IDLMessageDefinitionField } from "../types";
export declare class UnionIDLNode extends IDLNode<UnionASTNode> implements IUnionIDLNode {
    private switchTypeNeedsResolution;
    constructor(scopePath: string[], astNode: UnionASTNode, idlMap: Map<string, AnyIDLNode>);
    get type(): string;
    get isComplex(): boolean;
    private _switchTypeNode?;
    switchTypeNode(): IEnumIDLNode | ITypedefIDLNode;
    get switchType(): string;
    get cases(): Case[];
    get defaultCase(): IDLMessageDefinitionField | undefined;
    toIDLMessageDefinition(): IDLMessageDefinition;
}
//# sourceMappingURL=UnionIDLNode.d.ts.map