import { default as React, ReactNode } from 'react'; export interface ArchbaseProtectedComponentProps { children: ReactNode; actionName?: string; requiredPermissions?: string[]; requireAll?: boolean; actionDescription?: string; /** Rótulo curto — "Aprovar". Ausente significa "use a descrição". */ actionLabel?: string; /** Agrupamento dentro do recurso — "Operação". */ actionCategory?: string; /** * As capacidades sem as quais este gesto não funciona — os endpoints que ele chama. * * `'view'` resolve contra o recurso da própria tela; `'tms.ordemservico:aprovar_custo'` aponta * para outro. */ actionRequires?: string[]; fallback?: ReactNode; autoRegister?: boolean; } export declare const ArchbaseProtectedComponent: React.FC; export interface ArchbaseSecureActionButtonProps { actionName: string; actionDescription: string; children: ReactNode; onClick?: () => void; disabled?: boolean; className?: string; style?: React.CSSProperties; variant?: 'primary' | 'secondary' | 'danger' | 'success' | 'warning'; size?: 'small' | 'medium' | 'large'; type?: 'button' | 'submit' | 'reset'; } export declare const ArchbaseSecureActionButton: React.FC; export interface ArchbaseSecureFormFieldProps { children: ReactNode; actionName?: string; actionDescription?: string; showLabel?: boolean; label?: string; fallbackText?: string; fallbackComponent?: ReactNode; } export declare const ArchbaseSecureFormField: React.FC; export declare function withArchbaseSecurity

(WrappedComponent: React.ComponentType

, securityOptions: { resourceName: string; resourceDescription: string; requiredPermissions?: string[]; fallbackComponent?: ReactNode; }): (props: P) => import("react/jsx-runtime").JSX.Element;