interface EmptyStateProps {
    onAddAssets: () => void;
    /**
     * RBAC gate — without `assets.create` the "Add assets" CTA is hidden.
     * Required (not defaulted) so a permission gate can't silently regress to
     * permissive when a future call site forgets to pass it.
     */
    canAddAssets: boolean;
    searchQuery?: string;
    onClearSearch?: () => void;
}
/**
 * Empty state for the assets list (both views) when the current folder holds
 * no assets and no folders. The "Add assets" button opens the same file picker
 * as New > File upload; drag-and-drop upload keeps working since the page-wide
 * drop zone wraps this component.
 */
export declare const EmptyState: ({ onAddAssets, canAddAssets, searchQuery, onClearSearch, }: EmptyStateProps) => import("react/jsx-runtime").JSX.Element;
interface FilteredEmptyStateProps {
    onClearFilters: () => void;
}
/**
 * Empty state when active filters match nothing (including contradictory
 * badges — allowed by design). Distinct from the no-content state: the library
 * has items, the filters exclude them all.
 */
export declare const FilteredEmptyState: ({ onClearFilters }: FilteredEmptyStateProps) => import("react/jsx-runtime").JSX.Element;
export {};
