import { Node } from '@tiptap/core';

export interface CodeBlockOptions {
    /**
     * Custom HTML attributes that should be added to the rendered HTML tag.
     */
    HTMLAttributes: Record<string, any>;
    /**
     * Define whether the node should be exited on arrow down if there is no node after it.
     * Defaults to `true`.
     */
    exitOnArrowDown: boolean;
    /**
     * Define whether the node should be exited on triple enter.
     * Defaults to `true`.
     */
    exitOnTripleEnter: boolean;
    /**
     * Adds a prefix to language classes that are applied to code tags.
     * Defaults to `'language-'`.
     */
    languageClassPrefix: string;
}
declare module '@tiptap/core' {
    interface Commands<ReturnType> {
        codeBlock: {
            /**
             * Set a code block
             */
            setCodeBlock: (attributes?: {
                language: string;
            }) => ReturnType;
            /**
             * Toggle a code block
             */
            toggleCodeBlock: (attributes?: {
                language: string;
            }) => ReturnType;
        };
    }
}
export declare const backtickInputRegex: RegExp;
export declare const tildeInputRegex: RegExp;
declare const CodeBlock: Node<CodeBlockOptions, any>;
export default CodeBlock;
