import EventEmitter from 'events';
import { IncomingMessage, Server, ServerResponse } from 'http';
import { PixClient } from '../PixClient/index.js';
import type { MPRequestBody } from './types.js';
export declare class PixWebhook extends EventEmitter {
    pixClient: PixClient;
    httpServer?: Server;
    isReady: boolean;
    ngrokUrl: string | null;
    poolingInterval?: ReturnType<typeof setTimeout> | null;
    constructor(pixClient: PixClient);
    listen(): Promise<void>;
    useNgrok(): Promise<void>;
    usePooling(): void;
    startServer(): Promise<unknown>;
    onRequest(req: IncomingMessage, res: ServerResponse): Promise<void>;
    getBodyJson(req: IncomingMessage): Promise<MPRequestBody>;
    killNgrokProcess(): void;
    startNgrok(): Promise<void>;
}
