import TSMind from "..";
import layout_provider from "./layout";
import { TSM_node } from "../node";
interface ITSMViewProvOptions {
    [k: string]: any;
}
declare type ITSMViewEle<T = HTMLElement> = T | null;
export default class view_provider {
    private tsm;
    opts: ITSMViewProvOptions;
    layout: layout_provider;
    container: HTMLElement;
    e_panel: HTMLElement;
    e_nodes: HTMLElement;
    e_canvas: HTMLCanvasElement;
    e_editor: HTMLInputElement;
    canvas_ctx: CanvasRenderingContext2D;
    size: {
        w: number;
        h: number;
    };
    selected_node: ITSMViewEle<TSM_node>;
    editing_node: ITSMViewEle<TSM_node>;
    private actualZoom;
    private zoomStep;
    private minZoom;
    private maxZoom;
    constructor(tsm: TSMind, options: ITSMViewProvOptions);
    add_event: (obj: {}, event_name: ITSMEventType, event_handle: ITSMAnyCall<any[], any>) => void;
    get_binded_nodeid(element: HTMLElement): null | string;
    is_expander: (element: HTMLElement) => boolean;
    reset: () => void;
    reset_theme: () => void;
    reset_custom_style: () => void;
    load: () => void;
    expand_size: () => void;
    init_nodes_size: (node: TSM_node) => void;
    init_nodes: () => void;
    add_node: (node: TSM_node) => void;
    create_node_element: (node: TSM_node, parent_node: HTMLElement | DocumentFragment) => void;
    remove_node: (node: TSM_node) => void;
    update_node: (node: TSM_node) => void;
    select_node: (node: TSM_node | null) => void;
    select_clear: () => void;
    get_editing_node: () => TSM_node | null;
    is_editing: () => boolean;
    edit_node_begin: (node: TSM_node) => void;
    edit_node_end: () => void;
    get_view_offset: () => {
        x: number;
        y: number;
    };
    resize: () => void;
    _show: () => void;
    zoomIn: () => boolean;
    zoomOut: () => boolean;
    setZoom: (zoom: number) => boolean;
    _center_root: () => void;
    show: (keep_center: boolean) => void;
    relayout: () => void;
    save_location: (node: TSM_node) => void;
    restore_location: (node: TSM_node) => void;
    clear_nodes: () => void;
    show_nodes: () => void;
    reset_node_custom_style: (node: TSM_node) => void;
    _reset_node_custom_style: (node_element: HTMLElement, node_data: any) => void;
    clear_node_custom_style: (node: TSM_node) => void;
    clear_lines: (canvas_ctx?: CanvasRenderingContext2D) => void;
    show_lines: (canvas_ctx?: CanvasRenderingContext2D) => void;
    draw_line: (pin: ITSMPotions, pout: ITSMPotions, offset: ITSMPotions, canvas_ctx?: CanvasRenderingContext2D) => void;
}
export {};
