import { ReactNode } from 'react'; export interface AccessDeniedProps { /** * Title text * @default "Access Denied" */ title?: string; /** * Description text * @default "You don't have permission to access this resource." */ description?: string; /** * Additional details (e.g., required permissions) */ details?: string; /** * Custom icon to display */ icon?: ReactNode; /** * Primary action button */ primaryAction?: { label: string; onClick: () => void; }; /** * Secondary action button */ secondaryAction?: { label: string; onClick: () => void; }; /** * Variant style * - 'page': Full page layout with centered content * - 'card': Card-style layout for inline use * - 'inline': Minimal inline layout * @default 'card' */ variant?: 'page' | 'card' | 'inline'; /** * Custom className for styling */ className?: string; /** * Children to render below the message */ children?: ReactNode; } /** * AccessDenied - Centralized component for displaying access denied messages * * Use this component instead of creating custom access denied UI in each MFE. * This ensures consistent styling and behavior across the application. * * @example Page variant (for route-level access denial) * ```tsx * navigate(-1) * }} * /> * ``` * * @example Card variant (for section-level access denial) * ```tsx * * ``` * * @example Inline variant (for small UI elements) * ```tsx * * ``` */ export declare function AccessDenied({ title, description, details, icon, primaryAction, secondaryAction, variant, className, children, }: AccessDeniedProps): import("react/jsx-runtime").JSX.Element; export interface PermissionDeniedProps extends Omit { /** * Permission(s) that were required but not granted */ requiredPermissions?: string | string[]; /** * Role(s) that were required but not granted */ requiredRoles?: string | string[]; /** * Whether to show the required permissions/roles * @default true */ showRequirements?: boolean; } /** * PermissionDenied - Specialized AccessDenied for permission-based denials * * @example * ```tsx * * ``` */ export declare function PermissionDenied({ requiredPermissions, requiredRoles, showRequirements, ...props }: PermissionDeniedProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=AccessDenied.d.ts.map