import { Request, Response } from 'express';
import { Database } from './database';
export interface WebhookEvent {
    action: string;
    installation?: {
        id: number;
        account: {
            login: string;
            type: string;
        };
    };
    repository?: {
        name: string;
        full_name: string;
        owner: {
            login: string;
        };
    };
    repositories?: Array<{
        name: string;
        full_name: string;
    }>;
    sender?: {
        login: string;
    };
}
export declare class WebhookHandler {
    private webhookSecret;
    private appId;
    private privateKey;
    private database;
    constructor(webhookSecret: string, appId: string, privateKey: string, database: Database);
    handleWebhook(req: Request, res: Response): Promise<void>;
    private verifySignature;
    private handleInstallation;
    private handleInstallationRepositories;
    private handlePush;
    private handleRepository;
    private handlePullRequest;
    private queueTemplateUpdate;
    private autoConfigureRepository;
}
//# sourceMappingURL=webhook-handler.d.ts.map