import { As, ModalContentProps, ModalProps } from '@chakra-ui/react'; import { PageProps } from 'gatsby'; import * as React from 'react'; import { IJaenConnection, RequireAtLeastOne } from '../../../../types'; import { INotification } from '../../types'; export type NotificationOptions = { displayName: string; description: string; modalProps?: Omit; modalContentProps?: ModalContentProps; conditions: RequireAtLeastOne<{ entireSite: boolean; templates: string[]; urlPatterns: string[]; }>; triggers: RequireAtLeastOne<{ onPageLoad: number; onPageScroll: { percentage: number; direction: 'up' | 'down'; }; }>; advanced?: Partial<{ showAfterXPageViews: number; showUntilXPageViews: number; }>; logo?: As; customCondition?: (props: PageProps) => boolean; customTrigger?: () => Promise; }; export declare const NotificationContext: React.Context<{ id: string; notification?: INotification | undefined; } | undefined>; export declare const useNotificationContext: () => { id: string; notification?: INotification | undefined; }; export interface NotificationProviderProps extends NotificationOptions { id: string; notification?: INotification; forceOpen?: boolean; onClose?: () => void; } export declare const NotificationProvider: React.FC>; export declare const connectNotification:

void) | undefined; }>(Component: React.ComponentType

, options: NotificationOptions) => IJaenConnection; export type INotificationConnection = ReturnType;