import * as React from "react"; import { MetricType } from "../../../core/FlexDataClient"; import { WorkerQueue, WorkerQueueChannel } from "../../../state/QueuesState/QueuesStateTypes"; interface IQueuesDataTableCellContext { hideChannels: Record; toggleChannels: (row: string) => void; } export declare const QueuesDataTableCellContext: React.Context; /** * @name RenderQueueData * @function * @param {QueuesStats.WorkerQueue} queue - Queue data * @param {function} toggleChannels - Function to toggle whether channel info is rendered * @param {boolean} channelsVisible - Indicates whether the channels are currently rendered and visible * @returns {React.ReactNode} * @memberof QueuesStats.QueuesDataTableCellProps * @private */ /** * @name RenderChannelData * @function * @param {QueuesStats.WorkerQueueChannel} channel - Channel data * @param {QueuesStats.WorkerQueue} queue - Queue data * @param {function} toggleChannels - Function to toggle whether channel info is rendered * @returns {React.ReactNode} * @memberof QueuesStats.QueuesDataTableCellProps * @private */ /** * Properties of QueuesDataTableCell * @typedef QueuesStats.QueuesDataTableCellProps * @property {QueuesStats.WorkerQueue} queue - Queue data * @property {QueuesStats.QueuesDataTableCellProps.RenderQueueData} renderQueueData - Render function for queue level data * @property {QueuesStats.QueuesDataTableCellProps.RenderChannelData} [renderChannelData] - Render function for channel level data called once per channel * @private */ export type QueuesDataTableCellProps = { queue: WorkerQueue; metricId?: string; metricType?: MetricType; transformValue?: (value: string) => string; renderQueueData: (queue: WorkerQueue, toggleChannels: () => void, channelsVisible: boolean) => React.ReactNode; renderChannelData?: (channel: WorkerQueueChannel, queue: WorkerQueue, toggleChannels: () => void) => React.ReactNode; }; /** * @classdesc QueuesDataTableCell is used to render channel and queue data into a cell of {@link QueuesStats.QueuesDataTable}. *
*
* E.g.: * *
 *function renderTitle(q: WorkerQueue) {
 *  return (
 *    <QueuesDataTableCell
 *      queue={q}
 *      renderQueueData={(q) => q.friendly_name}
 *      renderChannelData={(c) => c.friendly_name}
 *    />
 *  )
 *}
 *
 *Twilio.Flex.QueuesStats.QueuesDataTable.Content.add(
 *  <ColumnDefinition
 *    key="title"
 *    header="Title"
 *    content={renderTitle}
 *  />
 *)
 *
* * @component * @category Components / Basic * @hideconstructor * @param {QueuesStats.QueuesDataTableCellProps} props - props * @memberof QueuesStats * @private */ export declare class QueuesDataTableCell extends React.PureComponent { render(): JSX.Element; } export {};