import { TooltipProps } from '@bigbinary/neetoui';
import React from 'react';
interface Time {
h: number;
m: number;
s: number;
}
interface Devices {
desktop: number;
smartphone: number;
[key: string]: number;
}
interface OperatingSystems {
mac: number;
windows: number;
[key: string]: number;
}
interface Browsers {
chrome: number;
safari: number;
[key: string]: number;
}
interface InsightsData {
visitCount: number;
startCount: number;
submissionCount: number;
completionRate: number;
averageSubmissionTime: Time;
devices: Devices;
operatingSystems: OperatingSystems;
browsers: Browsers;
}
interface TimePeriodValue {
startDate: Dayjs;
endDate: Dayjs;
rangeType: string;
}
interface TimePeriod {
label: string;
value: TimePeriodValue;
}
interface HelpTexts {
visitCount?: string;
startCount?: string;
submissions?: string;
completionRate?: string;
averageSubmissionTime?: string;
}
/**
*
* The Insights molecule displays key record insights, including a date range
*
* filter, offering a quick overview of user engagement in a user-friendly format.
*
* 
*
* @example
*
* import Insights from "@bigbinary/neeto-molecules/Insights";
*
* const DEFAULT_DATE_RANGE = {
* label: "All time",
* value: { startDate: null, endDate: null, rangeType: "all" },
* };
*
* const Summary = () => {
* const [timePeriod, setTimePeriod] = useState(DEFAULT_DATE_RANGE);
*
* return (
*
* );
* };
*
* export default Summary;
* @endexample
* Note: The value of timePeriod state will contain the startDate, endDate and
*
* range_type of the selected filter. This can be passed into the filterParams of
*
* your API.
*
*/
declare const Insights: React.FC<{
title?: string;
tooltipProps?: Partial;
insightsData: InsightsData;
isLoading: boolean;
timePeriod: TimePeriod;
setTimePeriod: (timePeriod: TimePeriod) => void;
helpTexts?: HelpTexts;
showWarningMessage: boolean;
}>;
export { Insights as default };