import type { JwkGenerator } from '../../../identity/configuration/JwkGenerator';
import type { InteractionRoute } from '../../../identity/interaction/routing/InteractionRoute';
import type { NotificationEmitterInput } from '../NotificationEmitter';
import { NotificationEmitter } from '../NotificationEmitter';
/**
 * Emits a notification representation using the WebHookChannel2023 specification.
 *
 * At the time of writing it is not specified how exactly a notification sender should make its requests verifiable,
 * so for now we use a token similar to those from Solid-OIDC, signed by the server itself.
 *
 * Generates a DPoP token and proof, and adds those to the HTTP request that is sent to the target.
 *
 * The `expiration` input parameter is how long the generated token should be valid in minutes.
 * Default is 20.
 */
export declare class WebHookEmitter extends NotificationEmitter {
    protected readonly logger: import("../../..").Logger;
    private readonly issuer;
    private readonly webId;
    private readonly jwkGenerator;
    private readonly expiration;
    constructor(baseUrl: string, webIdRoute: InteractionRoute, jwkGenerator: JwkGenerator, expiration?: number);
    canHandle({ channel }: NotificationEmitterInput): Promise<void>;
    handle({ channel, representation }: NotificationEmitterInput): Promise<void>;
}
