import type { YooEditor } from '@yoopta/editor';
import type { Location } from 'slate';
import type { CodeGroupContainerElement } from '../types';
import { type FormatCodeOptions } from '../utils/prettier';
export type InsertTabOptions = {
    afterTabId?: string;
    at?: Location;
};
export type DeleteTabOptions = {
    tabId: string;
};
export type BeautifyTabResult = {
    success: boolean;
    error?: string;
};
export type CodeGroupCommands = {
    buildCodeElements: (editor: YooEditor) => CodeGroupContainerElement;
    addTabItem: (editor: YooEditor, blockId: string, options?: InsertTabOptions) => void;
    deleteTabItem: (editor: YooEditor, blockId: string, options: DeleteTabOptions) => void;
    /** Beautifies the code in the specified tab (modifies editor content) */
    beautifyTab: (editor: YooEditor, blockId: string, tabId: string, options?: FormatCodeOptions) => Promise<BeautifyTabResult>;
    /** Checks if a language supports formatting */
    isLanguageSupported: (language: string) => boolean;
};
export declare const CodeGroupCommands: CodeGroupCommands;
//# sourceMappingURL=code-group-commands.d.ts.map