/**
 * Unified error/empty state management for Map components
 * Eliminates code duplication across FullscreenMap, CompactMap, LocationCard, etc.
 */
export interface ErrorStateConfig {
    /**
     * Loading state - renders skeleton UI
     * @default false
     */
    loading?: boolean;
    /**
     * Error state - shows error message
     * @default false
     */
    error?: boolean;
    /**
     * Custom error title
     */
    errorTitle?: string;
    /**
     * Custom error message
     */
    errorMessage?: string;
    /**
     * Error retry handler - shows retry button when provided
     */
    onErrorRetry?: () => void;
    /**
     * Empty state title
     */
    emptyTitle?: string;
    /**
     * Empty state message
     */
    emptyMessage?: string;
    /**
     * Whether the state is empty (no content)
     */
    isEmpty?: boolean;
}
export interface ErrorStateDefaults {
    errorTitle?: string;
    errorMessage?: string;
    emptyTitle?: string;
    emptyMessage?: string;
}
/**
 * Determines the current state based on loading, error, and empty conditions
 * Priority: Loading > Error > Empty > Content
 */
export declare function getErrorState(config: ErrorStateConfig): {
    isLoading: boolean;
    isError: boolean;
    isEmpty: boolean;
    isContent: boolean;
};
/**
 * Get resolved error state values with defaults applied
 */
export declare function resolveErrorStateValues(config: ErrorStateConfig, defaults?: ErrorStateDefaults): {
    errorTitle: string;
    errorMessage: string | undefined;
    emptyTitle: string;
    emptyMessage: string | undefined;
    onErrorRetry: (() => void) | undefined;
};
/**
 * Type for components that support error state
 */
export type ErrorStateProps = ErrorStateConfig;
//# sourceMappingURL=useErrorState.d.ts.map