import { IEdmundAbbottBodyV2, IRule } from '@cee-eng/hydrajs/@types/api/pcm/edmundAbbott'; import { ISolrRecommendation } from '@cee-eng/hydrajs/@types/models/solr/solr'; import { IAction } from '@rh-support/types/shared'; export interface ISOSReportRecommendation extends ISolrRecommendation { attachmentId: string; isNew: boolean; } export declare enum RulesReducerConstants { CustomerPortalRuleVisibilityChanged = "CustomerPortalRuleVisibilityChanged", EARuleVisibilityChanged = "EARuleVisibilityChanged", requestEdmundAbbottRules = "requestEdmundAbbottRules", receivedEdmundAbbottRules = "receivedEdmundAbbottRules", receivedEdmundAbbottRulesError = "receivedEdmundAbbottRulesError", triggerRuleNotification = "triggerRuleNotification", triggerEARulesModalVisibiltyChange = "triggerEARulesModalVisibiltyChange", resetEARules = "resetEARules", setIsEARuleWidgetVisible = "setIsEARuleWidgetVisible", EARuleMarkResolved = "EARuleMarkResolved", setInsightRules = "setInsightRules", setAllResults = "setAllResults" } export interface IAllRules { customerPortalRules: IRules; EARules: IRules; insightRules: IRules; isLoadingEdmundAbbottRules: boolean; isLoadingEdmundAbbottRulesError: boolean; triggerRuleNotification: boolean; isRuleModalVisible: boolean; isEARuleWidgetVisible: boolean; allResults: ISOSReportRecommendation[]; } export interface IExtendedRule extends IRule { isNew?: boolean; resolved?: boolean; } export interface IExtendedSolrRecommendation extends ISolrRecommendation { cta?: string; } export interface IRulePayloadType extends Omit { rule?: IExtendedRule | IExtendedSolrRecommendation; rules?: IExtendedRule[] | IExtendedSolrRecommendation[]; allResults?: ISOSReportRecommendation[]; } type IActionType = IAction; export type RulesDispatchType = (value: IActionType) => void; export interface IRules { sidebarSections: string[]; mainSections?: string[]; rules?: IExtendedRule[]; } export declare const initialRulesState: IAllRules; export declare const rulesReducer: (state: IAllRules, action: IActionType) => IAllRules; export declare const setCustomerPortalRulesVisibilityChange: (dispatch: RulesDispatchType, rule: IRule) => void; export declare const setEARulesVisibilityChange: (dispatch: RulesDispatchType, rule: IRule) => void; export declare const resetEARules: (dispatch: RulesDispatchType) => void; export declare const fetchEdmundAbbottRules: (dispatch: RulesDispatchType, body: Partial, onEARuleLoad?: (eaResponse: IRule[]) => void) => Promise; export declare const setIsEARuleWidgetVisible: (dispatch: RulesDispatchType, isEARuleWidgetVisible: boolean) => void; export declare const markEARuleResolved: (dispatch: RulesDispatchType, rule: IRule) => void; export declare const setInsightRules: (dispatch: RulesDispatchType, recResponse: IExtendedSolrRecommendation[]) => void; export {}; //# sourceMappingURL=RulesReducer.d.ts.map