import type { ApiKeyAuthContext } from "../common/auth/auth.types";
import { CreateWebhookEndpointDto } from "./dto/create-webhook-endpoint.dto";
import { UpdateWebhookEndpointDto } from "./dto/update-webhook-endpoint.dto";
import { WebhookEndpointService } from "./webhook-endpoint.service";
export declare class WebhookEndpointController {
    private readonly service;
    constructor(service: WebhookEndpointService);
    create(auth: ApiKeyAuthContext, dto: CreateWebhookEndpointDto): Promise<{
        secret: string;
        id: string;
        merchantId: string;
        url: string;
        subscribedEvents: string[];
        active: boolean;
        description: string | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    list(auth: ApiKeyAuthContext, limit?: string, cursor?: string): Promise<{
        data: {
            id: string;
            merchantId: string;
            url: string;
            subscribedEvents: string[];
            active: boolean;
            description: string | null;
            createdAt: Date;
            updatedAt: Date;
        }[];
        nextCursor: string | null;
    }>;
    findOne(auth: ApiKeyAuthContext, id: string): Promise<{
        id: string;
        merchantId: string;
        url: string;
        subscribedEvents: string[];
        active: boolean;
        description: string | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    update(auth: ApiKeyAuthContext, id: string, dto: UpdateWebhookEndpointDto): Promise<{
        id: string;
        merchantId: string;
        url: string;
        subscribedEvents: string[];
        active: boolean;
        description: string | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    remove(auth: ApiKeyAuthContext, id: string): Promise<{
        deleted: boolean;
        id: string;
    }>;
}
