import { ReactNode } from 'react';
export type AthenaTableErrorVariant = "danger" | "warning" | "soft" | "secondary";
export type AthenaTableErrorSize = "sm" | "md";
/**
* Slim field-style error banner — API mirrors HeroUI inputs
* (`label`, `variant`, `size`, `isDisabled`, `className`, …).
*
* ```tsx
*
* {listQuery.errorMessage}
*
*
* // one-liner
*
* ```
*/
export interface AthenaTableErrorProps {
/** Trailing actions (Retry, etc.). */
actions?: ReactNode;
/** Body content (preferred). Also accepts `message` / `error` aliases. */
children?: ReactNode;
className?: string;
/** @deprecated Prefer `children` or `message`. */
error?: ReactNode | null;
/** Stretch to container width (default true). */
fullWidth?: boolean;
/** Show leading status icon (default true). */
hasIcon?: boolean;
/** Dims the banner and blocks pointer events. */
isDisabled?: boolean;
/**
* Force-hide even when content is present.
* Useful for controlled visibility without ternary wrappers.
*/
isHidden?: boolean;
/** Optional title line above the body (like a field label). */
label?: ReactNode;
/** String body alias (like a field value / description). */
message?: string | null;
/** Optional dismiss control. */
onDismiss?: () => void;
/** Accessible role; defaults to `alert` for danger, else `status`. */
role?: "alert" | "status";
size?: AthenaTableErrorSize;
/** Custom leading content (replaces the default icon). */
startContent?: ReactNode;
variant?: AthenaTableErrorVariant;
}
/**
* Inline table / query error banner with a compact, input-like prop surface.
*/
export declare function AthenaTableError({ actions, children, className, error, fullWidth, hasIcon, isDisabled, isHidden, label, message, onDismiss, role, size, startContent, variant }: AthenaTableErrorProps): import("react").JSX.Element | null;
/**
* True when the value would produce a visible {@link AthenaTableError} body
* (blank strings count as empty).
*/
export declare function hasAthenaTableErrorContent(error: ReactNode | null | undefined, message?: string | null): boolean;