import { MessageApi } from "../../core/message";
import { ArgsProps, ConfigOnClose, MessageType } from "antd/lib/message";
import { ReactNode } from "react";
export declare function makeUUID(length?: number): string;
export type BatchHelper = {
    getBatchKey: (content: ReactNode) => string | undefined;
    getBatchContent: (batchKey: string, count: number) => ReactNode;
};
type KeyedArgsProps = ArgsProps & {
    key: string;
};
declare type ConfigContent = React.ReactNode | string;
declare type ConfigDuration = number | (() => void);
declare type JointContent = ConfigContent | ArgsProps;
type OriginalMethod = (content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose) => MessageType;
export declare class Batcher {
    private batchSize;
    private batchTime;
    private scheduler;
    private originalMethod;
    private batchHelper;
    constructor(originalMethod: OriginalMethod, batchHelper: BatchHelper);
    addMessage(originContent: KeyedArgsProps): void;
    private applyContent;
}
export declare function createBatchMessageMethods(message: MessageApi, batchHelper: BatchHelper): MessageApi;
export {};
