import { ItemType } from 'antd/es/breadcrumb/Breadcrumb';
import React from 'react';
import { LocalKeys } from '../../../I18n';
export type InsertAutocompleteItem = {
    label: string[];
    key: string;
    task: any;
    icon: React.ReactNode;
    args?: any[];
};
export type InsertOptions = {
    label: [string, string];
    key: string;
    children: InsertAutocompleteItem[];
};
export declare const getInsertOptions: (ctx: {
    isTop: boolean;
}, locale: LocalKeys) => InsertOptions[];
/**
 * 插入自动完成组件的属性接口。
 *
 * @interface InsertAutocompleteProps
 * @property {InsertAutocompleteItem[]} [insertOptions] - 可选的插入选项数组。
 * @property {(task: InsertAutocompleteItem) => Promise<boolean>} [runInsertTask] - 执行插入任务的函数，接受一个插入选项作为参数，返回一个 Promise，表示任务是否成功。
 */
export interface InsertAutocompleteProps {
    /**
     * 可选的插入选项数组。
     */
    insertOptions?: InsertAutocompleteItem[];
    /**
     * 执行插入任务的函数，接受一个插入选项作为参数，返回一个 Promise，表示任务是否成功。
     * @param task
     * @returns
     */
    runInsertTask?: (task: InsertAutocompleteItem, offset: {
        x: number;
        y: number;
    }) => Promise<boolean>;
    getContainer?: () => HTMLElement;
    /**
     * 操作 InsertAutocomplete 的选项
     * @param options
     * @returns
     */
    optionsRender?: (options: ItemType[]) => ItemType[];
}
export declare const InsertAutocomplete: React.FC<InsertAutocompleteProps>;
