import * as PUPPET from '@juzi/wechaty-puppet';
import type { Constructor } from 'clone-class';
import type { FileBoxInterface } from 'file-box';
import type { LocationInterface } from './location.js';
import type { MiniProgramInterface } from './mini-program.js';
import type { UrlLinkInterface } from './url-link.js';
declare type ChatHistoryMessageType = string | LocationInterface | MiniProgramInterface | UrlLinkInterface | ChatHistoryInterface | FileBoxInterface;
declare const ChatHistoryMixin_base: ((abstract new (...args: any[]) => {
    readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
}) & {
    readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
}) & {
    new (): {};
};
declare class ChatHistoryMixin extends ChatHistoryMixin_base {
    readonly payload: PUPPET.payloads.ChatHistory[];
    static create(): Promise<ChatHistoryInterface>;
    constructor(payload: PUPPET.payloads.ChatHistory[]);
    messageList(): ChatHistoryMessageType[];
}
declare const ChatHistoryImpl_base: {
    new (...args: any[]): {};
    valid: (o: any) => o is ChatHistoryInterface;
    validInstance: (target: any) => target is ChatHistoryMixin;
    validInterface: (target: any) => target is ChatHistoryInterface;
} & typeof ChatHistoryMixin;
declare class ChatHistoryImpl extends ChatHistoryImpl_base {
}
interface ChatHistoryInterface extends ChatHistoryImpl {
}
declare type ChatHistoryConstructor = Constructor<ChatHistoryInterface, typeof ChatHistoryImpl>;
export type { ChatHistoryConstructor, ChatHistoryInterface, };
export { ChatHistoryImpl, };
//# sourceMappingURL=chat-history.d.ts.map