import { FunctionComponent, ReactElement, ReactNode } from 'react'; export interface ModalComponentProps { id: string; dismissModal: () => unknown; } export type ModalType = 'pop-up' | 'overlay' | 'banner' | 'message'; export interface Modal
{ id: string; type?: ModalType; component?: FunctionComponent
; props?: P; element?: ReactElement
; onDismiss?: () => unknown; isActive?: boolean; } export interface PushModalParams
= Partial ;
props?: P;
element?: ReactElement ;
type?: ModalType;
onDismiss?: () => unknown;
}
export type PushModalFunction = Partial ) => string | undefined;
export interface ModalsState = any> {
modals: Modal[];
pushModal: PushModalFunction ;
dismissModal: (id: string) => unknown;
}
export declare function useModals = any>(): ModalsState ;
export interface ModalContainerProps extends ModalComponentProps {
modal: Modal ;
}
export interface ModalsContextProps {
children?: ReactNode;
}
export declare function ModalsContext({ children }: ModalsContextProps): ReactElement;