import { Crepe } from '@milkdown/crepe';
import type { Attrs, NodeType } from '@milkdown/kit/prose/model';
import { Command, Transaction } from '@milkdown/kit/prose/state';
import { TMDEditorParameterItem } from '../../types';
import { WidgetViewFactory } from '@prosemirror-adapter/vue';
export type TMdToolbarAction = {
    label: string;
    icon: string;
    schemaType: string;
    attrs: Attrs | null;
    isAdvanced?: boolean;
};
export type TSetBlockTypeEvent = {
    schemaType: string;
    attrs: Attrs | null;
    isAdvanced?: boolean;
};
export declare const NodeParameterHiddenClass = "hidden-parameter-text";
export declare const NodeParameterClasses: {
    simple: string;
    single: string;
    array: string;
    object: string;
};
export declare const NodeParameterIcons: Record<string, string>;
export declare const HEADING_SCHEMA = "headingSchema";
export declare const PARAGRAPH_SCHEMA = "paragraphSchema";
export declare const QUOTES_SCHEMA = "blockquoteSchema";
export declare const DIVIDER_SCHEMA = "hrSchema";
export declare const LIST_BULLET_SCHEMA = "bulletListSchema";
export declare const LIST_ORDERED_SCHEMA = "orderedListSchema";
export declare const LIST_ITEM_SCHEMA = "listItemSchema";
export declare const IMAGE_SCHEMA = "imageBlockSchema";
export declare const CODE_BLOCK_SCHEMA = "codeBlockSchema";
export declare const TABLE_SCHEMA = "tableSchema";
export declare const SCHEMA_TYPES: Record<string, any>;
export declare const SCHEMA_TYPE_ACTION: Record<string, any>;
export declare const headingMenuItems: import("vue").ComputedRef<({
    label: string;
    icon: string;
    schemaType: string;
    attrs: {
        level: number;
    };
} | {
    label: string;
    icon: string;
    schemaType: string;
    attrs: null;
})[]>;
export declare const listMenuItems: import("vue").ComputedRef<({
    label: string;
    icon: string;
    schemaType: string;
    attrs: null;
} | {
    label: string;
    icon: string;
    schemaType: string;
    attrs: {
        checked: boolean;
    };
})[]>;
export declare const advancedMenuItems: import("vue").ComputedRef<({
    label: string;
    icon: string;
    schemaType: string;
    attrs: null;
    isAdvanced: boolean;
} | {
    label: string;
    icon: string;
    schemaType: string;
    attrs: {
        language: string;
    };
    isAdvanced: boolean;
})[]>;
export declare function dispatchEditorAction(crepeInstance: Crepe | null, actionType: TSetBlockTypeEvent): void;
export declare function dispatchAdvancedEditorAction(crepeInstance: Crepe | null, actionType: TSetBlockTypeEvent): void;
export declare function dispatchEditorTableAction(crepeInstance: Crepe | null): void;
export declare function clearRange(tr: Transaction): Transaction;
export declare function clearContentAndAddBlockType(nodeType: NodeType, attrs?: Attrs | null): Command;
export declare function setBlockType(tr: Transaction, nodeType: NodeType, attrs?: Attrs | null): Transaction;
export declare function addEditorBlockType(tr: Transaction, nodeType: NodeType, attrs?: Attrs | null): Transaction | null;
export declare function setContentBlockType(nodeType: NodeType, attrs?: Attrs | null): Command;
export declare function contentAddBlockType(nodeType: NodeType, attrs?: Attrs | null): Command;
export declare function wrapInBlockType(tr: Transaction, nodeType: NodeType, attrs?: Attrs | null): Transaction | null;
export declare function setContentAndWrapInBlockType(nodeType: NodeType, attrs?: Attrs | null): Command;
export declare function buildMustacheSnippet(param: TMDEditorParameterItem, insertState?: 'opening' | 'closing'): string;
export declare const useMustachePlugin: (replaceTest: (testContent: string, from: number, to: number) => void, widgetViewFactory: WidgetViewFactory) => import("@milkdown/utils").$Prose;
