import { Component } from 'vue';
import { ExternalComponentType } from '../../../../domain/widget/component-type';
/**
 * 工厂函数：获取 Dropdown 组件
 * @param type - 组件类型
 * @returns 对应的 Vue 组件加载函数
 */
export declare function getDropdownComponent(type: ExternalComponentType): (() => Promise<Component>) | null;
/**
 * 获取所有支持 dropdown 的类型
 */
export declare function getSupportedDropdownTypes(): ExternalComponentType[];
export type DialogComponentKey = 'device-scan';
export declare function getDialogComponentByKey(key?: DialogComponentKey): Component | null;
export type OverlayActionType = 'none' | 'dropdown' | 'dialog' | 'scan-dialog' | 'scan-dropdown';
export interface DropdownOverlayActionConfig {
    icon?: string;
    actionType: OverlayActionType;
    tooltip?: string;
    dialogKey?: DialogComponentKey;
}
/**
 * 统一获取 overlay action 配置（icon + 行为 + 对应 body）
 */
export declare function getDropdownOverlayActionConfig(type: ExternalComponentType, options?: {
    enableScan?: boolean;
    hasParseRules?: boolean;
    scanMode?: boolean;
}): DropdownOverlayActionConfig;
