import { CSSProperties, PropType } from 'vue';
import { NodeDataType } from './interface';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    collapsedNodeLength: {
        type: NumberConstructor;
        default: number;
    };
    deep: {
        type: NumberConstructor;
        default: number;
    };
    pathCollapsible: {
        type: PropType<(node: NodeDataType) => boolean>;
        default: () => boolean;
    };
    virtual: {
        type: BooleanConstructor;
        default: boolean;
    };
    height: {
        type: NumberConstructor;
        default: number;
    };
    itemHeight: {
        type: NumberConstructor;
        default: number;
    };
    dynamicHeight: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectedValue: {
        type: PropType<string | string[]>;
        default: () => string;
    };
    collapsedOnClickBrackets: {
        type: BooleanConstructor;
        default: boolean;
    };
    style: {
        type: PropType<CSSProperties>;
        default: undefined;
    };
    onSelectedChange: {
        type: PropType<(newVal: string | string[], oldVal: string | string[]) => void>;
        default: undefined;
    };
    theme: {
        type: PropType<"dark" | "light">;
        default: string;
    };
    data: {
        type: PropType<import('./interface').JSONDataType>;
        default: null;
    };
    rootPath: {
        type: StringConstructor;
        default: string;
    };
    indent: {
        type: NumberConstructor;
        default: number;
    };
    showLength: {
        type: BooleanConstructor;
        default: boolean;
    };
    showDoubleQuotes: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderNodeKey: PropType<(opt: {
        node: NodeDataType;
        defaultKey: string;
    }) => unknown>;
    renderNodeValue: PropType<(opt: {
        node: NodeDataType;
        defaultValue: string;
    }) => unknown>;
    renderNodeActions: {
        type: PropType<boolean | ((opt: {
            node: NodeDataType;
            defaultActions: {
                copy: () => void;
            };
        }) => unknown)>;
        default: undefined;
    };
    selectableType: PropType<"" | "multiple" | "single">;
    showSelectController: {
        type: BooleanConstructor;
        default: boolean;
    };
    showLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    showLineNumber: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectOnClickNode: {
        type: BooleanConstructor;
        default: boolean;
    };
    nodeSelectable: {
        type: PropType<(node: NodeDataType) => boolean>;
        default: () => boolean;
    };
    highlightSelectedNode: {
        type: BooleanConstructor;
        default: boolean;
    };
    showIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    showKeyValueSpace: {
        type: BooleanConstructor;
        default: boolean;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    editableTrigger: {
        type: PropType<"click" | "dblclick">;
        default: string;
    };
    onNodeClick: {
        type: PropType<(node: NodeDataType) => void>;
    };
    onNodeMouseover: {
        type: PropType<(node: NodeDataType) => void>;
    };
    onBracketsClick: {
        type: PropType<(collapsed: boolean, node: NodeDataType) => void>;
    };
    onIconClick: {
        type: PropType<(collapsed: boolean, node: NodeDataType) => void>;
    };
    onValueChange: {
        type: PropType<(value: boolean, path: string) => void>;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("nodeClick" | "nodeMouseover" | "bracketsClick" | "iconClick" | "selectedChange" | "update:selectedValue" | "update:data")[], "nodeClick" | "nodeMouseover" | "bracketsClick" | "iconClick" | "selectedChange" | "update:selectedValue" | "update:data", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    collapsedNodeLength: {
        type: NumberConstructor;
        default: number;
    };
    deep: {
        type: NumberConstructor;
        default: number;
    };
    pathCollapsible: {
        type: PropType<(node: NodeDataType) => boolean>;
        default: () => boolean;
    };
    virtual: {
        type: BooleanConstructor;
        default: boolean;
    };
    height: {
        type: NumberConstructor;
        default: number;
    };
    itemHeight: {
        type: NumberConstructor;
        default: number;
    };
    dynamicHeight: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectedValue: {
        type: PropType<string | string[]>;
        default: () => string;
    };
    collapsedOnClickBrackets: {
        type: BooleanConstructor;
        default: boolean;
    };
    style: {
        type: PropType<CSSProperties>;
        default: undefined;
    };
    onSelectedChange: {
        type: PropType<(newVal: string | string[], oldVal: string | string[]) => void>;
        default: undefined;
    };
    theme: {
        type: PropType<"dark" | "light">;
        default: string;
    };
    data: {
        type: PropType<import('./interface').JSONDataType>;
        default: null;
    };
    rootPath: {
        type: StringConstructor;
        default: string;
    };
    indent: {
        type: NumberConstructor;
        default: number;
    };
    showLength: {
        type: BooleanConstructor;
        default: boolean;
    };
    showDoubleQuotes: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderNodeKey: PropType<(opt: {
        node: NodeDataType;
        defaultKey: string;
    }) => unknown>;
    renderNodeValue: PropType<(opt: {
        node: NodeDataType;
        defaultValue: string;
    }) => unknown>;
    renderNodeActions: {
        type: PropType<boolean | ((opt: {
            node: NodeDataType;
            defaultActions: {
                copy: () => void;
            };
        }) => unknown)>;
        default: undefined;
    };
    selectableType: PropType<"" | "multiple" | "single">;
    showSelectController: {
        type: BooleanConstructor;
        default: boolean;
    };
    showLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    showLineNumber: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectOnClickNode: {
        type: BooleanConstructor;
        default: boolean;
    };
    nodeSelectable: {
        type: PropType<(node: NodeDataType) => boolean>;
        default: () => boolean;
    };
    highlightSelectedNode: {
        type: BooleanConstructor;
        default: boolean;
    };
    showIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    showKeyValueSpace: {
        type: BooleanConstructor;
        default: boolean;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    editableTrigger: {
        type: PropType<"click" | "dblclick">;
        default: string;
    };
    onNodeClick: {
        type: PropType<(node: NodeDataType) => void>;
    };
    onNodeMouseover: {
        type: PropType<(node: NodeDataType) => void>;
    };
    onBracketsClick: {
        type: PropType<(collapsed: boolean, node: NodeDataType) => void>;
    };
    onIconClick: {
        type: PropType<(collapsed: boolean, node: NodeDataType) => void>;
    };
    onValueChange: {
        type: PropType<(value: boolean, path: string) => void>;
    };
}>> & Readonly<{
    onSelectedChange?: ((...args: any[]) => any) | undefined;
    onNodeClick?: ((...args: any[]) => any) | undefined;
    onNodeMouseover?: ((...args: any[]) => any) | undefined;
    onBracketsClick?: ((...args: any[]) => any) | undefined;
    onIconClick?: ((...args: any[]) => any) | undefined;
    "onUpdate:selectedValue"?: ((...args: any[]) => any) | undefined;
    "onUpdate:data"?: ((...args: any[]) => any) | undefined;
}>, {
    height: number;
    data: import('./interface').JSONDataType;
    style: CSSProperties;
    theme: "dark" | "light";
    deep: number;
    showIcon: boolean;
    itemHeight: number;
    indent: number;
    collapsedNodeLength: number;
    pathCollapsible: (node: NodeDataType) => boolean;
    virtual: boolean;
    dynamicHeight: boolean;
    selectedValue: string | string[];
    collapsedOnClickBrackets: boolean;
    onSelectedChange: (newVal: string | string[], oldVal: string | string[]) => void;
    rootPath: string;
    showLength: boolean;
    showDoubleQuotes: boolean;
    renderNodeActions: boolean | ((opt: {
        node: NodeDataType;
        defaultActions: {
            copy: () => void;
        };
    }) => unknown);
    showSelectController: boolean;
    showLine: boolean;
    showLineNumber: boolean;
    selectOnClickNode: boolean;
    nodeSelectable: (node: NodeDataType) => boolean;
    highlightSelectedNode: boolean;
    showKeyValueSpace: boolean;
    editable: boolean;
    editableTrigger: "click" | "dblclick";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
//# sourceMappingURL=BasicJsonViewer.d.ts.map