/// <reference types="react" />
import type { DeviceItem, DeviceKind, DeviceModelItem, DeviceRow, I18nText, UpdateDevicePayload } from '../model';
interface UseAppDeviceListParams {
    kind: DeviceKind;
    typeCode: string;
    modelCode: string;
    selectedWorkAreaId?: number;
    modelDetail?: DeviceModelItem | null;
    deviceTypeName: string;
    modelName: string;
    utils: any;
    autoTakeoverLastUsed: boolean;
    isModelSelecting: boolean;
    translation: (val?: I18nText) => string;
    setInitCheckTakeoverDevice: (record?: DeviceRow) => void;
}
/** 管理当前型号下的设备列表、搜索、分页、定时刷新和初始接管提示。 */
export declare const useAppDeviceList: ({ kind, typeCode, modelCode, selectedWorkAreaId, modelDetail, deviceTypeName, modelName, utils, autoTakeoverLastUsed, isModelSelecting, translation, setInitCheckTakeoverDevice, }: UseAppDeviceListParams) => {
    search: string;
    page: number;
    pageSize: number;
    devices: DeviceItem[];
    tableData: DeviceRow[];
    deviceRequest: import("ahooks/lib/useRequest/src/types").Result<DeviceItem[], [params: import("../model").ListDeviceParams]>;
    createDeviceRequest: import("ahooks/lib/useRequest/src/types").Result<DeviceItem | null, [payload: import("../model").CreateDevicePayload]>;
    updateDeviceRequest: import("ahooks/lib/useRequest/src/types").Result<DeviceItem | null, [params: {
        id: number;
        payload: UpdateDevicePayload;
    }]>;
    removeDeviceRequest: import("ahooks/lib/useRequest/src/types").Result<any, [id: string | number]>;
    prepareShortNumberRequest: import("ahooks/lib/useRequest/src/types").Result<string, []>;
    setSearch: import("react").Dispatch<import("react").SetStateAction<string>>;
    setPage: import("react").Dispatch<import("react").SetStateAction<number>>;
    setPageSize: import("react").Dispatch<import("react").SetStateAction<number>>;
    setStoredIotDevice: import("react").Dispatch<import("react").SetStateAction<import("../model").StoredIotDevice>>;
    resetDeviceView: () => void;
    reloadDevices: () => void;
    prepareShortNumber: () => Promise<string>;
};
export {};
