import { ImgHTMLAttributes, ReactNode } from 'react';
/**
* Illustration — renders an on-brand product illustration served from the host
* shell's `/illustrations/.webp`. Generated assets (glassmorphic, dark
* navy, violet/teal glow) are produced per product and dropped in the shell's
* `public/illustrations/`. Always provide a meaningful `alt` for accessibility
* (or alt="" for purely decorative use).
*/
export interface IllustrationProps extends Omit, 'src'> {
/** Illustration name → /illustrations/.webp */
name: string;
alt: string;
size?: 'sm' | 'md' | 'lg' | 'xl';
/** Wrap in a soft rounded glass frame with an accent glow. */
framed?: boolean;
}
export declare function Illustration({ name, alt, size, framed, className, loading, ...props }: IllustrationProps): import("react/jsx-runtime").JSX.Element;
export declare namespace Illustration {
var displayName: string;
}
/**
* IllustratedEmptyState — a calm, centered empty/zero state pairing an
* {@link Illustration} with a title, description and an optional primary action.
* Clutter-free by design; use the matching illustration for the context
* (e.g. name="vc-empty-agents").
*/
export interface IllustratedEmptyStateProps {
illustration: string;
title: string;
description?: ReactNode;
action?: ReactNode;
/** alt text for the illustration (defaults to the title) */
alt?: string;
className?: string;
}
export declare function IllustratedEmptyState({ illustration, title, description, action, alt, className, }: IllustratedEmptyStateProps): import("react/jsx-runtime").JSX.Element;
export declare namespace IllustratedEmptyState {
var displayName: string;
}
//# sourceMappingURL=illustration.d.ts.map