import type { Constructor } from 'clone-class';
import type { ContactInterface } from './contact.js';
import type { FileBoxInterface } from 'file-box';
import type { PostInterface } from './post.js';
declare const MomentMixin_base: ((abstract new (...args: any[]) => {
    readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
}) & {
    readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
}) & {
    new (): {};
};
declare class MomentMixin extends MomentMixin_base {
    static post(post: PostInterface): Promise<void | PostInterface>;
    static unPost(post: PostInterface): Promise<void>;
    static timeline(contact: ContactInterface): PostInterface[];
    static signature(signature?: string): Promise<void | string>;
    static coverage(coverage?: FileBoxInterface): Promise<void | FileBoxInterface>;
    static visibleList(): Promise<ContactInterface[]>;
    constructor();
}
declare const MomentImpl_base: {
    new (...args: any[]): {};
    valid: (o: any) => o is MomentInterface;
    validInstance: (target: any) => target is MomentMixin;
    validInterface: (target: any) => target is MomentInterface;
} & typeof MomentMixin;
declare class MomentImpl extends MomentImpl_base {
}
interface MomentInterface extends MomentImpl {
}
declare type MomentConstructor = Constructor<MomentInterface, typeof MomentImpl>;
export type { MomentConstructor, MomentInterface, };
export { MomentImpl, };
//# sourceMappingURL=moment.d.ts.map