import { Answer } from "./Answer";
export declare abstract class AbstractUser<Message = object> {
    protected tokenLength: number;
    /**
     * 历史问答信息
     * @protected
     */
    protected history: Array<Message>;
    constructor(tokenLength?: number);
    setTokenLength(tokenLength: number): void;
    abstract setSystemContent(content: string): void;
    abstract speak(content: string, ...args: any[]): Promise<Answer>;
    protected abstract getMessageLength(message: Message): number;
    /**
     * 生成UID
     */
    static generateUid(): string;
    protected getHistory(length?: number): Array<Message>;
}
//# sourceMappingURL=AbstractUser.d.ts.map