import * as ts from "typescript";
import { TypeAliasDeclarationStructure } from "./../../structures";
import { Node } from "./../common";
import { NamedNode, TypedNode, ExportableNode, ModifierableNode, AmbientableNode, DocumentationableNode, TypeParameteredNode } from "./../base";
export declare const TypeAliasDeclarationBase: (new (...args: any[]) => TypeParameteredNode) & (new (...args: any[]) => TypedNode) & (new (...args: any[]) => DocumentationableNode) & (new (...args: any[]) => AmbientableNode) & (new (...args: any[]) => ExportableNode) & (new (...args: any[]) => ModifierableNode) & (new (...args: any[]) => NamedNode) & typeof Node;
export declare class TypeAliasDeclaration extends TypeAliasDeclarationBase<ts.TypeAliasDeclaration> {
    /**
     * Fills the node from a structure.
     * @param structure - Structure to fill.
     */
    fill(structure: Partial<TypeAliasDeclarationStructure>): this;
    /**
     * Removes this type alias declaration.
     */
    remove(): void;
}
