@twilio/flex-ui
Version:
Twilio Flex UI
57 lines (56 loc) • 3.62 kB
TypeScript
import { PopoverStateReturn } from "@twilio-paste/core/popover";
import { AiConversation, AiReport } from "../../../core/FlexDataClient";
import { DrilldownConfig, FetchError, FilterParamsObj, MetricsRow, TaskRouterResource, Team } from "./types";
import { ColumnSortDirection, Granularity, MetricType, ReportName, ReportType } from "./utils";
type useFetchMetricsReturnType = {
result: AiReport | null;
error: FetchError | null;
isLoading: boolean;
currentPage: number;
hasNextPage: boolean;
hasPreviousPage: boolean;
nextPage: (sortColumn: string, sortDirection: ColumnSortDirection, tierId?: string, scoreId?: MetricType) => void;
previousPage: (sortColumn: string, sortDirection: ColumnSortDirection, tierId?: string, scoreId?: MetricType) => void;
fetchMetrics: Function;
};
type useFetchConversationMetricsReturnType = {
result: AiReport | null;
error: FetchError | null;
isLoading: boolean;
currentPage: number;
hasNextPage: boolean;
hasPreviousPage: boolean;
nextPage: (sortColumn: string, sortDirection: ColumnSortDirection, tierId?: string, scoreId?: MetricType) => void;
previousPage: (sortColumn: string, sortDirection: ColumnSortDirection, tierId?: string, scoreId?: MetricType) => void;
fetchConversationMetrics: Function;
};
type useFetchInsightsReturnType = {
result: MetricsRow[];
error: FetchError | null;
isLoading: boolean;
fetchAllInsights: Function;
};
type useFetchAiConversationReturnType = {
result: AiConversation | null;
error: FetchError | null;
isLoading: boolean;
fetchConversation: Function;
};
type useFetchTopicsReturnType = [string[], FetchError | null, boolean, Function];
type useFetchTeamsReturnType = [Team[], FetchError | null, boolean, Function];
type useListTeamMembersReturnType = [TaskRouterResource[], FetchError | null, boolean, Function];
type useGetFlexUserReturnType = [Function];
export declare const isSelectedDateValid: (selectedDate: string) => boolean;
export declare const drilldownFilterSetObjMap: (filterParams: FilterParamsObj, drilldownConfig?: DrilldownConfig) => FilterParamsObj;
export declare const useFetchInsights: (reportType: ReportType, granularity: Granularity, includeDate: string) => useFetchInsightsReturnType;
export declare const useFetchQueues: () => [TaskRouterResource[], FetchError | undefined, boolean, Function];
export declare const useFetchTaskChannels: () => [TaskRouterResource[], FetchError | undefined, boolean, Function];
export declare const useFetchAgents: () => [TaskRouterResource[], FetchError | undefined, boolean, Function];
export declare const useFetchAiConversation: (conversationId: string) => useFetchAiConversationReturnType;
export declare const useFetchTopics: () => useFetchTopicsReturnType;
export declare const useFetchMetrics: (reportType: ReportType, reportName: ReportName, granularity: Granularity, includeDate: string, filterParams: FilterParamsObj, selectedMetric: string, pageSize?: number) => useFetchMetricsReturnType;
export declare const useFetchConversationMetrics: (granularity: Granularity, includeDate: string, filterParams: FilterParamsObj, selectedMetricType: string, drilldownConfig: DrilldownConfig, pageSize?: number, conversationPanel?: PopoverStateReturn) => useFetchConversationMetricsReturnType;
export declare const useFetchTeams: (preSelectTeam: (team: Team, resetAgentFilter?: boolean) => void) => useFetchTeamsReturnType;
export declare const useListTeamMembers: () => useListTeamMembersReturnType;
export declare const useGetFlexUser: () => useGetFlexUserReturnType;
export {};