import * as React from 'react';
import { Action } from 'redux';
import { AdaptableObject } from '../../../AdaptableState/Common/AdaptableObject';
import { AdaptableObjectItemView, AdaptableObjectView, IModule } from '../../../Strategy/Interface/IModule';
import { AccessLevel, AdaptableSharedEntityConfig } from '../../../types';
export declare const AdaptableObjectListItemView: React.FunctionComponent<{
    abObject: AdaptableObject;
    accessLevel?: AccessLevel;
    actions?: React.ReactElement[];
    className?: string;
    deleteAction?: Action;
    onDelete?: () => void;
    deleteDisabled?: boolean;
    deleteTooltip?: string;
    editDisabled?: boolean;
    entityType: string;
    handleOnEdit?: (tagName?: string) => void;
    items: AdaptableObjectItemView[];
    onShare?: (config: AdaptableSharedEntityConfig) => void;
    onSuspend?: () => void;
    onUnSuspend?: () => void;
    showActions?: boolean;
    showEditButton?: boolean;
    style?: React.CSSProperties;
    suspendedEnabled?: boolean;
    teamSharingActivated?: boolean;
    disableDeleteConfirmation?: boolean;
    module: IModule;
}>;
interface AdaptableObjectListItemProps {
    data: AdaptableObjectView;
    module: IModule;
    /**
     * Used for team sharing.
     * If this gets more complicated the underlying UI for the adaptable item should be extracted.
     *
     * @defaults false
     */
    hideControls?: boolean;
    /**
     * Used for team sharing.
     * @defaults false
     */
    deleteDisabled?: boolean;
    deleteTooltip?: string;
}
export declare const AdaptableObjectListItem: React.FunctionComponent<AdaptableObjectListItemProps>;
interface AdaptableObjectListProps {
    items: AdaptableObjectView[];
    module: IModule;
    itemProps?: Partial<AdaptableObjectListItemProps>;
}
export declare const AdaptableObjectList: React.FunctionComponent<AdaptableObjectListProps>;
export {};
