import { Environment } from './config/environment';
import { PlasoContentType } from './config/url';
export interface PlasoClientOptions {
    token: string;
    container: HTMLElement;
    env?: Environment;
    onError?: (error: Error) => void;
    onLoading?: (isLoading: boolean) => void;
    devTools?: boolean;
    platform?: string;
}
export declare class PlasoClient {
    private platform;
    private token;
    private container;
    private onError?;
    private onLoading?;
    private root;
    private env;
    private URL_CONFIG_MAP;
    private devTools;
    constructor(options: PlasoClientOptions);
    private checkParams;
    private handleError;
    /**
     * 构建完整URL
     * @param type 内容类型
     * @returns 完整的URL
     */
    private buildUrl;
    /**
     * 渲染内容
     * @param type 内容类型
     */
    private renderContent;
    /**
     * 创建指定类型的模块
     * @param module 模块类型
     */
    createModule(module: PlasoContentType): Promise<void>;
    /**
     * 创建作业
     */
    createAssignment(): Promise<void>;
    /**
     * 创建课堂
     */
    createClassroom(): Promise<void>;
    /**
     * 创建资源
     */
    createResource(): Promise<void>;
    /**
     * 渲染自定义内容
     * @param type 内容类型
     */
    renderCustomContent(type: PlasoContentType): Promise<void>;
    /**
     * 销毁客户端实例
     */
    destroy(): HTMLElement | void;
}
