import { NumberObjObj, NumberObj, DateString } from "@degreesign/utils"; import { StatsReqParams, VisitorVisitsType, PageVisitPayload, StatsAnalysisResult, TrafficDataDay, StatsConfig } from "../types/stats"; import { IPRange } from "../types/ip"; import { statsConfig } from "./constants"; declare const recordStats: ({ ipRange, ips, data }: { ipRange: IPRange[]; ips: string; data: PageVisitPayload; }) => void, combineStats: (days: string[]) => TrafficDataDay, compareDateStrings: ({ startDay, endDay, }: { startDay: DateString; endDay?: DateString; }) => string[] | undefined, compareStats: ({ startDay, endDay, includeRaw, }: { startDay: DateString; endDay?: DateString; includeRaw?: boolean; }) => (StatsAnalysisResult | undefined)[] | undefined, compare24hr: (includeRaw?: boolean) => (StatsAnalysisResult | undefined)[] | undefined, statsPeriodStr: ({ days, endTime, }: { days: number; endTime?: number; }) => { thisPeriod: string; prvPeriod: string; }, statsAddOne: ({ typeName, visitsObj, visitorsObj, visitId, }: { typeName: string; visitsObj: NumberObj; visitorsObj: NumberObjObj; visitId: string; }) => void, formatVisits: ({ visitors, visits, }: { visitors: NumberObjObj; visits: NumberObj; }) => VisitorVisitsType[], analyseStats: ({ dayData, dateReqStr, spamVisitorLimit, spamVisitsLimit, bounceSecondsLimit, visitMinSeconds, visitCutOffSeconds, resolution, updateStartTime, calcFreqVisits, includeRaw, }: StatsReqParams) => StatsAnalysisResult | undefined, /** Config Stats */ configStats: (config: StatsConfig) => void, /** Start Stats */ startStats: () => void; export { statsConfig, configStats, statsPeriodStr, statsAddOne, formatVisits, analyseStats, recordStats, startStats, compareDateStrings, combineStats, compare24hr, compareStats, };