import { PageOrderDirection, PaginationService } from '@hed-hog/api-pagination';
import { PrismaService } from '@hed-hog/api-prisma';
interface RecordHttpData {
    userId?: number;
    ip?: string;
    userAgent?: string;
    method: string;
    path: string;
}
interface RecordMcpData {
    userId?: number;
    mcpTool: string;
    mcpPrompt?: string;
}
type AccessLogListParams = {
    page?: number;
    pageSize?: number;
    search?: string;
    sortField?: string;
    sortOrder?: PageOrderDirection;
    fields?: string;
    userId?: number;
    userSearch?: string;
    createdAtFrom?: string;
    createdAtTo?: string;
    type?: 'http' | 'mcp' | 'all';
};
export declare class AccessLogService {
    private readonly prisma;
    private readonly pagination;
    private readonly logger;
    constructor(prisma: PrismaService, pagination: PaginationService);
    recordHttp(data: RecordHttpData): void;
    recordMcp(data: RecordMcpData): void;
    list(params: AccessLogListParams): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    clearOld(retentionDays: number, batchLimit: number): Promise<void>;
}
export {};
//# sourceMappingURL=access-log.service.d.ts.map