import { KanbanWebhookSource, KanbanWebhookLog } from './entities/kanban-webhook.entity';
import { CreateWebhookSourceDto, UpdateWebhookSourceDto, WebhookLogQueryDto } from './dto/kanban.dto';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { TenantConnectionService } from '../tenant/tenant-connection.service';
import { KanbanCustomerService } from './kanban-customer.service';
export declare class KanbanWebhookService extends BaseTenantService<KanbanWebhookSource> {
    protected tenantConnectionService: TenantConnectionService;
    private readonly customerService;
    protected entity: typeof KanbanWebhookSource;
    private readonly logger;
    constructor(tenantConnectionService: TenantConnectionService, customerService: KanbanCustomerService);
    private getRepo;
    receive(sourceKey: string, payload: Record<string, any>, headers: Record<string, string>, senderIp: string): Promise<{
        received: boolean;
        logId: string;
    }>;
    private process;
    replay(logId: string): Promise<{
        replayed: boolean;
    }>;
    findAllSources(): Promise<KanbanWebhookSource[]>;
    findSourceById(id: string): Promise<KanbanWebhookSource>;
    createSource(dto: CreateWebhookSourceDto): Promise<KanbanWebhookSource>;
    updateSource(id: string, dto: UpdateWebhookSourceDto): Promise<KanbanWebhookSource>;
    deleteSource(id: string): Promise<void>;
    getLogs(query: WebhookLogQueryDto): Promise<{
        data: KanbanWebhookLog[];
        meta: {
            total: number;
            page: number;
            limit: number;
        };
    }>;
    getLogById(id: string): Promise<KanbanWebhookLog>;
    private mapPayload;
    private flatten;
    private extractExternalId;
    private verifySignature;
}
