import Label from './Label';
import { BasicWindow } from 'parsegraph-window';
import NodePainter from './NodePainter';
import Color from 'parsegraph-color';
import Font from './Font';
import Size from 'parsegraph-size';
import NodeType from './NodeType';
import { Direction, NodePalette } from 'parsegraph-direction';
import EventNode from './EventNode';
export default class Node<T extends NodeType<T>> extends EventNode {
    _type: T;
    _scene: any;
    _label: Label;
    constructor(newType: T, fromNode?: Node<T>, parentDirection?: Direction);
    palette(): NodePalette<EventNode>;
    newPainter(window: BasicWindow, paintContext: any): NodePainter;
    sizeWithoutPadding(bodySize?: Size): Size;
    supportsDirection(inDirection: Direction): boolean;
    spawnNode(inDirection: Direction, newType: any): Node<T>;
    verticalSeparation(direction: Direction): number;
    horizontalSeparation(direction: Direction): number;
    type(): T;
    setType(newType: T): void;
    typeAt(direction: Direction): T;
    toString(): string;
    backdropColor(): Color;
    isClickable(): boolean;
    scene(): any;
    setScene(scene: any): void;
    label(): string;
    glyphCount(counts: any, pagesPerTexture: number): number;
    realLabel(): Label;
    setLabel(text: string, font?: Font): void;
    acceptsSelection(): boolean;
}
//# sourceMappingURL=Node.d.ts.map