import React, { ReactNode } from 'react';
import { BaseButton, ComplexAction } from '../types';
import * as SolidIcons from '@heroicons/react/24/solid';
import * as OutlineIcons from '@heroicons/react/24/outline';
export type IconName = keyof typeof SolidIcons | keyof typeof OutlineIcons;
export interface ButtonProps extends BaseButton {
    primary?: boolean;
    secondary?: boolean;
    danger?: boolean;
    danger2?: boolean;
    soft?: boolean;
    plain?: boolean;
    tertiary?: boolean;
    plainCritical?: boolean;
    primaryCritical?: boolean;
    split?: boolean;
    options?: Array<{
        name: string;
        onClick(): any;
    }>;
    deleted?: boolean;
    deletedButton?: boolean;
    rounded?: boolean;
    size?: 'micro' | 'small' | 'medium' | 'large' | 'extra-large';
    children?: string | Array<string>;
    icon?: IconName;
    iconClassName?: string;
    iconOutline?: boolean;
    iconPosition?: 'before' | 'after';
}
export interface ResourceListProps {
    className?: string;
    list?: Array<{
        id?: number;
        name?: string;
        location?: string;
        avatar?: string;
        actions?: Array<{
            content: string | ReactNode;
            onClick(): unknown;
        }>;
        avatarClassname?: string;
        toggle?: {
            enable: boolean;
            active?: boolean;
            onChange(active: boolean): void;
        };
        isPlainAction?: boolean;
        badge?: {
            type: string;
            text: string;
            className?: string;
        };
        renderRight?: string | ReactNode;
        rightClassName?: string;
        hideShortcutAction?: boolean;
    }>;
    hiddenBulkActionMarkup?: boolean;
    readonly?: boolean;
    button?: ButtonProps;
    bulkActions?: boolean;
    isOptionList?: boolean;
    defaultOptionActive?: any;
    isEmptyData?: any;
    bulkActionsContent?: string;
    heightList?: number;
    actionSelectAll?: boolean;
    searchResult?: boolean;
    shortcutAction?(item: any): Array<{
        content?: string;
        icon?: IconName;
        iconOutline?: boolean;
        active?: boolean;
        destructive?: boolean;
        onClick?(): void;
    }>;
    sortOptions?: Array<{
        content?: string;
        icon?: IconName;
        iconOutline?: boolean;
        active?: boolean;
        destructive?: boolean;
        onClick?(): void;
    }>;
    sortContent?: string;
    onClickItem?(item: any): void;
    onBulkActions?(data: any): void;
    title?: string;
    textAction?: ComplexAction;
    isBadge?: boolean;
    useListWithCard?: boolean;
    selectedItems?: any;
    onClickRemoveItem?(item: any): void;
    onScrollBottom?(): void;
    onSelectedItemsChange?(items: any): void;
    paging?: boolean;
    getKeyword?(keyword: string): void;
    loading?: boolean;
    isApplyClassnameList?: boolean;
    searchLoading?: boolean;
}
export declare function PHXResourceList({ actionSelectAll, bulkActions, bulkActionsContent, button, className, defaultOptionActive, getKeyword, heightList, hiddenBulkActionMarkup, isApplyClassnameList, isBadge, isEmptyData, isOptionList, list, loading, onBulkActions, onClickItem, onClickRemoveItem, onScrollBottom, onSelectedItemsChange, paging, readonly, searchLoading, searchResult, selectedItems, shortcutAction, sortContent, sortOptions, textAction, title, useListWithCard, }: ResourceListProps): React.JSX.Element;
