import { HttpStatus } from '@nestjs/common';
import { Kysely } from 'kysely';
import { DB } from "../../database/database.type";
import { Logger } from 'pino-nestjs';
import { AddWebsiteDto, ScrapingLogsQueryDto, UpdateWebsiteDto } from './scraping-analytics.dto';
import { AiScraperClient } from './ai-scraper.client';
export declare class ScrapingAnalyticsService {
    private db;
    private logger;
    private readonly aiScraperClient;
    constructor(db: Kysely<DB>, logger: Logger, aiScraperClient: AiScraperClient);
    listWebsites(): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any[];
    }>;
    addWebsite(data: AddWebsiteDto, actingAdminId: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: {
            id: string;
            name: string;
            status: string;
            key: string;
            is_active: boolean;
            base_url: string;
            list_url: string;
        };
    }>;
    updateWebsite(websiteId: string, data: UpdateWebsiteDto, actingAdmin: {
        id: string;
        role: string;
    }): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: {
            id: string;
            name: string;
            status: string;
            key: string;
            is_active: boolean;
            base_url: string;
            list_url: string;
        };
    }>;
    triggerWebsite(websiteId: string, actingAdminId: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: {
            website: string;
            result: any;
        };
    }>;
    triggerAll(actingAdminId: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any;
    }>;
    listScripts(): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: import("./ai-scraper.client").AiScraperInfo[];
    }>;
    listLogs(query: ScrapingLogsQueryDto): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: {
            rows: any[];
            scrapers: any[];
            total: any;
            page: number;
            limit: number;
            total_pages: number;
        };
    }>;
    getLog(logId: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any;
    }>;
    reportStats(): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any;
    }>;
}
