import { Courier, CourierProps, InboxMessage, CourierUserPreferences, CourierUserPreferencesStatus, CourierUserPreferencesChannel, CourierUserPreferencesTopic, CourierDigestScheduleOption } from '@trycourier/courier-js'; import { InboxDataSet, CourierInboxFeed } from '@trycourier/courier-ui-inbox'; type AuthenticationHooks = { userId?: string; signIn: (props: CourierProps) => void; signOut: () => void; }; type InboxHooks = { load: (props?: { canUseCache: boolean; }) => Promise; fetchNextPageOfMessages: (props: { datasetId: string; }) => Promise; setPaginationLimit: (limit: number) => void; readMessage: (message: InboxMessage) => Promise; unreadMessage: (message: InboxMessage) => Promise; clickMessage: (message: InboxMessage) => Promise; archiveMessage: (message: InboxMessage) => Promise; openMessage: (message: InboxMessage) => void; unarchiveMessage: (message: InboxMessage) => Promise; readAllMessages: () => Promise; registerFeeds: (feeds: CourierInboxFeed[]) => void; listenForUpdates: () => Promise; feeds: Record; totalUnreadCount?: number; error?: Error; }; type ToastHooks = { addMessage: (message: InboxMessage) => void; removeMessage: (message: InboxMessage) => void; error?: Error; }; type PreferencesHooks = { getUserPreferences: (props?: { paginationCursor?: string; }) => Promise; getUserPreferenceTopic: (props: { topicId: string; }) => Promise; putUserPreferenceTopic: (props: { topicId: string; status: CourierUserPreferencesStatus; hasCustomRouting: boolean; customRouting: CourierUserPreferencesChannel[]; digestSchedule?: string; }) => Promise; getDigestSchedules: (props: { topicId: string; }) => Promise; getNotificationCenterUrl: (props: { clientKey: string; }) => string; }; export declare const useCourier: () => { shared: Courier; auth: AuthenticationHooks; inbox: InboxHooks; toast: ToastHooks; preferences: PreferencesHooks; }; export {};