import type { AccessProvider } from '../access';
import { AccessGuarderBuilder } from '../builder';
/**
 * 安全打包器
 */
export type SecurityBundler = (builder: AccessGuarderBuilder) => AccessProvider;
/**
 * 安全提供者组件属性
 */
export interface SecurityProviderProps extends React.PropsWithChildren {
    /**
     * 打包器
     */
    readonly bundler: SecurityBundler;
}
/**
 * 安全提供者组件
 */
export declare function SecurityProvider({ children, bundler }: SecurityProviderProps): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
/**
 * 安全阻断器包装
 * @param Component 组件
 * @param bundler 打包器
 */
export declare const withSecurityBlocker: (Component: React.ComponentType, bundler: SecurityBundler) => () => import("react/jsx-runtime").JSX.Element;
