import React from 'react'; interface BlockUIPropsBase { blocking?: boolean; message?: string | React.ReactNode; overlayStyle?: React.CSSProperties; loader?: "default" | React.ReactNode; style?: React.CSSProperties; className?: string; mode?: "contain" | "stretch" | "full-screen"; cursor?: "inherit" | "wait" | "default" | "progress" | "not-allowed"; hideScroll?: boolean; } interface BlockUIProps extends BlockUIPropsBase { children?: React.ReactNode; } interface BlockUIContextData { blocking?: boolean; message?: string; loader?: React.ReactNode; } declare const BlockUI: React.FC; declare const setBlockUIDefaultProps: (props: BlockUIPropsBase) => void; declare const BlockUIContext: React.Context<{ data: BlockUIContextData; setBlockUI: (data: BlockUIContextData) => void; }>; declare const useBlockUIContext: () => { data: BlockUIContextData; setBlockUI: (data: BlockUIContextData) => void; }; declare const BlockUIProvider: React.FC; export { BlockUI, BlockUIContext, BlockUIProvider, setBlockUIDefaultProps, useBlockUIContext };