import Node from "./Node";
import NodeType from "./NodeType";
import Direction, { NodePalette } from "parsegraph-direction";
import Size from "parsegraph-size";
import WindowNodePainter from "./WindowNodePainter";
import { BasicWindow, Component } from "parsegraph-window";
export declare enum Type {
    BUD = 0,
    SLOT = 1,
    BLOCK = 2,
    SLIDER = 3,
    SCENE = 4,
    ELEMENT = 5
}
export declare function readType(given: string | Type): Type;
export default class DefaultNodeType implements NodeType<DefaultNodeType> {
    _type: Type;
    _palette: NodePalette<Node<DefaultNodeType>>;
    _mathMode: boolean;
    constructor(palette: NodePalette<Node<DefaultNodeType>>, type: Type, mathMode?: boolean);
    promiscuousClicks(node: Node<DefaultNodeType>): boolean;
    newPainter(window: BasicWindow, node: Node<DefaultNodeType>, paintContext: Component): WindowNodePainter;
    palette(): NodePalette<Node<DefaultNodeType>>;
    type(): Type;
    supportsDirection(inDirection: Direction): boolean;
    applyStyle(node: Node<DefaultNodeType>): void;
    name(): string;
    elementSize(node: Node<DefaultNodeType>, bodySize: Size): void;
    sizeWithoutPadding(node: Node<DefaultNodeType>, bodySize?: Size): Size;
    verticalSeparation(node: Node<DefaultNodeType>, direction: Direction): number;
    horizontalSeparation(node: Node<DefaultNodeType>, direction: Direction): number;
    is(val: Type): boolean;
    acceptsSelection(selectedNode: Node<DefaultNodeType>): boolean;
}
//# sourceMappingURL=DefaultNodeType.d.ts.map