import type { BaseResponsiveProps } from '../../../../responsive/type';
/** 设备大类，当前 App 设备设置默认只开放 smart。 */
export declare type DeviceKind = 'smart' | 'dumb' | 'integrated';
/** 后端设备绑定状态；允许 string 是为了兼容后端新增状态。 */
export declare type DeviceLinkStatus = 'linked' | 'unlinked' | string;
/** 后端设备在线状态；unknown 用于未绑定设备或状态缺失场景。 */
export declare type DeviceOnlineStatus = 'online' | 'offline' | 'unknown' | string;
/** 后端多语言字段，可能直接返回字符串，也可能返回语言字典。 */
export declare type I18nText = string | {
    original?: string;
    'zh-CN'?: string;
    'zh-HK'?: string;
    en?: string;
    ja?: string;
    pt?: string;
    [key: string]: any;
};
/** 表单提交使用的多语言字典，覆盖当前支持的语言集合。 */
export declare type LangDict = {
    original?: string;
    en?: string;
    'zh-CN'?: string;
    'zh-HK'?: string;
    ja?: string;
    pt?: string;
};
/** App 端设备设置页面 props。 */
export interface SaasAppDevicePlanningProps extends BaseResponsiveProps {
    /** 设备大类，默认 smart。 */
    kind?: DeviceKind;
    /** 预留字段：当前页面仍以 localStorage 中的型号上下文为准。 */
    typeCode?: string;
    /** 预留字段：当前页面仍以 localStorage 中的型号上下文为准。 */
    modelCode?: string;
    /** 是否展示顶部返回按钮。 */
    showBack?: boolean;
    /** 自定义返回逻辑，未传时使用引擎 history 返回。 */
    onBack?: () => void;
    /** 设备绑定或接管成功后的回调。 */
    onLinked?: (params: DeviceLinkedParams) => void | Promise<void>;
    /** 进入页面时是否提示接管上次使用的已绑定设备。 */
    autoTakeoverLastUsed?: boolean;
}
/** 设备绑定成功后传给外部调用方的数据。 */
export interface DeviceLinkedParams {
    device: DeviceItem | null;
    channel: string;
}
/** 工作区域实体。 */
export interface WorkAreaItem {
    id: number;
    tenant_id?: number;
    name: I18nText;
    description?: I18nText;
    sort: number;
    created_at?: string;
    updated_at?: string;
}
/** 设备类型实体，包含当前类型下可用的设备型号。 */
export interface DeviceTypeItem {
    id: number;
    kind: DeviceKind;
    code: string;
    icon?: string | null;
    name: I18nText;
    description?: I18nText;
    status?: string;
    sort?: number;
    active_models?: DeviceModelItem[];
}
/** 设备型号实体，包含配置方案和所属类型/品牌信息。 */
export interface DeviceModelItem {
    id: number;
    brand_code?: string;
    type_code: string;
    code: string;
    name: I18nText;
    description?: I18nText;
    data?: {
        profile_structure?: {
            required?: boolean;
            tabs?: unknown[];
        };
        [key: string]: unknown;
    } | null;
    status?: string;
    sort?: number;
    active_profiles?: DeviceProfileItem[];
    type?: DeviceTypeItem;
    brand?: {
        code?: string;
        name?: I18nText;
        [key: string]: unknown;
    };
}
/** 设备配置方案，绑定到具体型号。 */
export interface DeviceProfileItem {
    id: number;
    model_code?: string;
    template_code?: string;
    name?: I18nText;
    description?: I18nText;
    setting?: Record<string, unknown> | null;
    status?: string;
}
/** 后端设备实体，包含绑定状态、在线状态和关联的类型/型号/工作区域。 */
export interface DeviceItem {
    id: number;
    tenant_id?: number;
    workarea_id?: number;
    type_kind: DeviceKind;
    type_code: string;
    model_code: string;
    profile_id?: number | null;
    number?: string;
    short_number?: string;
    name: I18nText;
    data?: Record<string, unknown> | null;
    setting?: Record<string, unknown> | null;
    link?: DeviceLinkStatus;
    status?: DeviceOnlineStatus;
    sort?: number;
    last_seen?: string;
    created_at?: string;
    updated_at?: string;
    type?: DeviceTypeItem;
    model?: DeviceModelItem;
    profile?: DeviceProfileItem | null;
    workarea?: WorkAreaItem;
}
/** 设备列表接口查询参数。 */
export interface ListDeviceParams {
    with?: string[];
    workarea_id?: number;
    type_kind?: DeviceKind;
    type_code?: string;
    model_code?: string;
    profile_id?: number;
}
/** 预生成智能设备短码接口返回的数据。 */
export interface PrepareDeviceData {
    short_number?: string;
}
/** 创建或编辑工作区域的提交数据。 */
export interface SaveWorkAreaPayload {
    name: LangDict;
    description: LangDict;
}
/** 创建设备的提交数据。 */
export interface CreateDevicePayload {
    workarea_id: number;
    model_code: string;
    profile_id: number | null;
    short_number?: string;
    name: LangDict;
}
/** 编辑设备的提交数据。 */
export interface UpdateDevicePayload {
    workarea_id: number;
    profile_id: number | null;
    short_number?: string;
    name: LangDict;
}
/** 设备列表展示模型，由 DeviceItem 适配而来。 */
export interface DeviceRow {
    id: number;
    name: string;
    typeName: string;
    modelName: string;
    profileName: string;
    link: DeviceLinkStatus;
    status: DeviceOnlineStatus;
    typeCode: string;
    modelCode: string;
    isCurrent?: boolean;
    isLastUsed?: boolean;
    _raw: DeviceItem;
}
/** 删除工作区域前展示的关联设备数量。 */
export interface DeleteWorkAreaCounts {
    smart: number;
    dumb: number;
    integrated: number;
}
/** 多语言表单的默认空值。 */
export declare const EMPTY_I18N: LangDict;
export declare const DEVICE_KIND_OPTIONS: DeviceKind[];
/** 将后端多语言字段转换成表单可编辑的语言字典。 */
export declare const toLangDict: (val?: I18nText) => LangDict;
/** 校验多语言字段至少填写 original 或任一具体语言。 */
export declare const validateI18nRequired: (message: string) => (_rule: unknown, value: I18nText | undefined) => Promise<void>;
