import type { StorePullIdentity } from "./store-pull.js";
export interface WebhookStatus {
    configured: boolean;
    listening: boolean;
    listenPort?: number;
    problem?: string;
    lastDeliveryAt?: string;
    lastOutcome?: string;
}
/** Optional private HTTP ingress. Invalid config disables only this listener, never the Hook. */
export declare class GitboyWebhooks {
    private readonly root;
    private readonly pull;
    private readonly nudge;
    readonly status: WebhookStatus;
    private server?;
    private readonly deliveries;
    private readonly bodies;
    private readonly nudges;
    private closed;
    constructor(root: string, pull: (storeId: string) => string | undefined, nudge?: (identity: StorePullIdentity) => Promise<void>);
    private notify;
    start(): Promise<void>;
    stop(): void;
}
