import React from 'react';
import { TablerIconsProps } from '@tabler/icons-react';
export type EmptyStateVariant = 'no-data' | 'no-results' | 'error' | 'loading-failed' | 'access-denied' | 'coming-soon';
export type EmptyStateContext = 'users' | 'applications' | 'functions' | 'tokens' | 'executions' | 'permissions' | 'audit' | 'generic';
export interface EmptyStateAction {
    label: string;
    onClick: () => void;
    variant?: 'filled' | 'light' | 'outline';
    color?: string;
    leftSection?: React.ReactNode;
}
export interface EmptyStateProps {
    variant?: EmptyStateVariant;
    context?: EmptyStateContext;
    title?: string;
    message?: string;
    icon?: React.ComponentType<TablerIconsProps>;
    iconSize?: number;
    iconColor?: string;
    actions?: EmptyStateAction[];
    height?: number | string;
}
declare const EmptyState: React.FC<EmptyStateProps & {
    onAdd?: () => void;
    onRefresh?: () => void;
    onClearFilters?: () => void;
}>;
export default EmptyState;
export declare const NoUsersState: React.FC<Omit<EmptyStateProps, 'context' | 'variant'> & {
    onAddUser?: () => void;
}>;
export declare const NoApplicationsState: React.FC<Omit<EmptyStateProps, 'context' | 'variant'> & {
    onCreateApp?: () => void;
}>;
export declare const NoFunctionsState: React.FC<Omit<EmptyStateProps, 'context' | 'variant'> & {
    onCreateFunction?: () => void;
}>;
export declare const NoTokensState: React.FC<Omit<EmptyStateProps, 'context' | 'variant'> & {
    onGenerateToken?: () => void;
}>;
export declare const NoSearchResults: React.FC<Omit<EmptyStateProps, 'variant'> & {
    onClearFilters?: () => void;
    onRefresh?: () => void;
}>;
export declare const ErrorState: React.FC<Omit<EmptyStateProps, 'variant'> & {
    onRetry?: () => void;
}>;
