import * as React from 'react'; import * as Redux from 'redux'; import { AdaptableObject } from '../../../AdaptableState/Common/AdaptableObject'; import { IColItem } from '../../UIInterfaces'; import { AdaptableApi } from '../../../Api/AdaptableApi'; import { ModuleInfo } from '../../../Strategy/Interface/IModule'; import { AccessLevel } from '../../../AdaptableState/Common/Entitlement'; import { AdaptableSharedEntityConfig } from '../../../AdaptableState/TeamSharingState'; export interface BaseRowProps extends React.ClassAttributes { colItems: IColItem[]; api: AdaptableApi; } export interface BaseEntityRowProps extends BaseRowProps { adaptableObject: AdaptableObject; onDeleteConfirm: Redux.Action; onEdit: (AdaptableObject: AdaptableObject) => void; onClone?: (AdaptableObject: AdaptableObject) => void; moduleInfo: ModuleInfo; } export interface SharedEntityRowProps extends BaseEntityRowProps { onShare: (config: AdaptableSharedEntityConfig) => void; teamSharingActivated: boolean; accessLevel: AccessLevel; onSuspend?: (adaptableObject: AdaptableObject) => void; onUnSuspend?: (adaptableObject: AdaptableObject) => void; } export interface SharedEntityComponent extends React.ClassAttributes { entity: AdaptableObject; api: AdaptableApi; }