import { Root } from 'react-dom/client';
import { CMSModalRef } from './modal';
import { RefObject } from 'react';
import { ModalProps } from 'antd';
export interface CMSData {
    list: any[];
    type: string;
    code?: string;
}
export interface SDKOptions {
    mode?: 'multiple';
    /**
     * 页面地址
     */
    url: string;
    /**
     * 内容类型
     */
    type?: string;
    /**
     * 内容编码
     */
    code?: string;
    /**
     * 弹窗宽度
     */
    width?: number;
    /**
     * 弹窗高度
     */
    height?: number;
    /**
     * 鉴权信息
     */
    skey?: string;
    /**
     * 最多选择数量
     */
    maxCount?: number;
    modal?: Omit<ModalProps, 'visible' | 'onOk' | 'onCancel' | 'width'>;
    callback?: (data: CMSData) => void;
    onAuth?: () => void;
}
/**
 * 单例模式使用方式
 *
 * new SDK().api
 * 或
 * SDK.getInstance().api
 */
export default class SDK {
    div?: HTMLDivElement;
    root?: Root;
    opts?: SDKOptions;
    modalRef?: RefObject<CMSModalRef>;
    constructor(opts: SDKOptions);
    destroy(): void;
    setConfig(opts: SDKOptions): void;
    show: (opts: Partial<SDKOptions>) => Promise<unknown>;
    hide(): void;
}
