import { WebsocketRequestParams } from "./WebsocketRequestParams";
import { WebsocketUser } from "./WebsocketUser";
import { WebsocketResponseImpl } from "./WebsocketResponseImpl";
import { Version } from "../common/Version";
import { AbstractSparkDesk } from "../common/AbstractSparkDesk";
export interface SparkDeskOption {
    APPID: string;
    APISecret: string;
    APIKey: string;
    version: Version;
    noEncryption?: boolean;
}
export type OnMessage = <K extends keyof WebSocketEventMap>(event: WebSocketEventMap[K]) => void;
/**
 * 星火大模型
 */
export declare class WebsocketSparkDesk extends AbstractSparkDesk {
    protected option: SparkDeskOption;
    /**
     * 版本
     */
    get version(): SparkDeskOption['version'];
    constructor(option: SparkDeskOption);
    get APPID(): string;
    protected getWebsocketUrl(): string;
    protected getUrl(): URL;
    request(request: WebsocketRequestParams): Promise<WebsocketResponseImpl>;
    request(request: WebsocketRequestParams, timeout?: number): Promise<WebsocketResponseImpl>;
    /**
     *
     * @param request
     * @param timeout
     * @param onMessage 此函数触发与  onMessage 时。
     */
    request(request: WebsocketRequestParams, timeout?: number, onMessage?: OnMessage): Promise<WebsocketResponseImpl>;
    createUser(uid: string, tokenLength?: number): WebsocketUser;
}
//# sourceMappingURL=WebsocketSparkDesk.d.ts.map