import type { MercureContract, SendOptions } from './types/main.js';
export interface SentMessage {
    topics: string[];
    data: Record<string, unknown>;
    options: SendOptions;
}
export declare class FakeMercure implements MercureContract {
    #private;
    generate(payload: Record<string, unknown>): Promise<string>;
    generateSubscribeToken(topics: string[]): Promise<string>;
    send(topics: string | string[], data?: Record<string, unknown>, isPrivateOrOptions?: boolean | SendOptions): Promise<Response>;
    ping(): Promise<boolean>;
    assertSent(topic: string, data?: Record<string, unknown>): void;
    assertNotSent(topic: string): void;
    assertNothingSent(): void;
    getSent(): SentMessage[];
    clear(): void;
}
