import { CohortData, InstituteData, OrganisationAddress, ProviderData, StudentPlacementData, UserData } from "./typeDefinitions"; type InstituteTipNames = "createCohort" | "addSchools" | "uploadStaff" | "assignStaffRoles" | "allowExternalPlacementUpload" | "uploadStaffGuidance" | "uploadStudentGuidance"; type ProviderTipNames = string; type StudentTipNames = string; export type InstituteTaskNames = "missingParentEmail" | "employerEventRequests" | "schoolEventRequests" | "eventsGetAvailableProviders" | "awaitingInsurance" | "expiredInsurance" | "approveAlumniConversation" | "outstandingReminders" | "invalidStaffEmails" | "invalidStudentEmails" | "invalidParentEmails" | "invalidProviderEmails" | "verifyInsurance" | "verifyRiskAssessment" | "verifyDbsCheck" | "inactiveStudents" | "uploadStudents" | "inactiveStaff" | "requiredStage" | "approveProvider" | "overdueStage" | "latePlacementStage" | "stagnantPlacementStage"; export type StudentTaskNames = "completeOnboarding"; export type ProviderTaskNames = "applicationRequireReview" | "activateStaff" | "requestedVisiblePlacementListings" | "requestedVisibleAddresses" | "completeStudentDocs" | "uploadOnboarding" | "reviewOnboarding" | "completeListing" | "completeAddress" | "registrationRequests" | "placementStarting" | "completeFeedback" | "setUpFeedback"; export type TaskItemObject = { title?: string; message?: string; link?: string; buttonTitle?: string; dismissible?: boolean; severity?: "error" | "warning" | "success" | "primary" | "info"; }; export type TaskItem = TaskItemObject | { [key: string]: StudentPlacementData & { eliData?: string; riskAssessmentURL?: string; dbsCheckURL?: string; }; }; export type TaskQueryReturnObject = { [itemName in InstituteTaskNames | InstituteTipNames | StudentTipNames | ProviderTipNames]: TaskItem | TaskItem[]; } | undefined; export type TipQueryReturnObject = { itemName?: InstituteTaskNames | InstituteTipNames | StudentTipNames | ProviderTipNames; title?: string; message?: string; link?: string; buttonTitle?: string; dismissible?: boolean; severity?: "error" | "warning" | "success" | "primary" | "info"; } | undefined; export type InstituteTaskObject = { [key in InstituteTaskNames]: { callback: ({ user, organisation, cohorts, schools, eventId, type }: { user: UserData; organisation: InstituteData & ProviderData; cohorts: CohortData | [string, CohortData][]; schools?: InstituteData | [string, InstituteData][]; eventId?: string; type: "event" | "cohort" | "home" | "employerDatabase"; }) => Promise; }; }; export type StudentTaskObject = { [key in StudentTaskNames]: { callback: (user: UserData) => Promise; }; }; export type ProviderTaskObject = { [key in ProviderTaskNames]: { callback: (user: UserData) => Promise; }; }; export declare const getTips: (user: UserData, organisation: InstituteData | ProviderData, addresses?: { [key: string]: OrganisationAddress; }) => Promise<(TipQueryReturnObject)[]>; export declare const getTasks: ({ user, organisation, cohort, school, eventId, type, schools, cohorts }: { user: UserData; organisation?: InstituteData & ProviderData; cohort?: CohortData; school?: InstituteData; eventId?: string; type?: "home" | "cohort" | "employerDatabase" | "event" | "employerEvents"; schools?: { [key: string]: InstituteData; }; cohorts?: { [key: string]: CohortData; }; }) => Promise; export declare const dismissTip: (user: UserData, itemName: InstituteTaskNames | ProviderTaskNames | StudentTaskNames | InstituteTipNames | ProviderTipNames | StudentTipNames | undefined) => Promise; export {};