<!-- API Report Version: 2.3 -->

## API Report File for "@atlaskit/media-table"

> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)

### Table of contents

- [Main Entry Types](#main-entry-types)
- [Peer Dependencies](#peer-dependencies)

### Main Entry Types

<!--SECTION START: Main Entry Types-->

```ts
/// <reference types="react" />

import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
import { FC } from 'react';
import { FileIdentifier } from '@atlaskit/media-client';
import { HeadType } from '@atlaskit/dynamic-table/types';
import { MediaClient } from '@atlaskit/media-client';
import { MediaType } from '@atlaskit/media-client';
import { default as React_2 } from 'react';
import { SortOrderType } from '@atlaskit/dynamic-table/types';
import { TruncateProps } from '@atlaskit/media-ui/truncateText';
import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
import { WithIntlProps } from 'react-intl';
import { WithMediaClientConfigProps } from '@atlaskit/media-client-react';
import { WrappedComponentProps } from 'react-intl';

// @public (undocumented)
export const MediaTable: React_2.ComponentType<
	WithMediaClientConfigProps<
		Omit<
			React_2.PropsWithChildren<WithIntlProps<MediaTableProps & WrappedComponentProps<'intl'>>>,
			keyof WithAnalyticsEventsProps
		> &
			React_2.RefAttributes<any>
	>
>;

// @public (undocumented)
export interface MediaTableItem {
	// (undocumented)
	data: RowData;
	// (undocumented)
	identifier: FileIdentifier;
	rowProps?: RowProps;
}

// @public (undocumented)
export interface MediaTableProps {
	columns: HeadType;
	// (undocumented)
	createAnalyticsEvent: CreateUIAnalyticsEvent;
	highlightedRowIndex?: number[];
	isLoading?: boolean;
	items: MediaTableItem[];
	itemsPerPage?: number;
	// (undocumented)
	mediaClient: MediaClient;
	onPreviewClose?: () => void;
	onPreviewOpen?: () => void;
	onRowClick?: (rowData: RowData, index: number) => boolean;
	onSetPage?: (pageNumber: number) => void;
	onSort?: (key: string, sortOrder: SortOrderType) => void;
	pageNumber?: number;
	sortKey?: string;
	sortOrder?: SortOrderType;
	totalItems: number;
}

// @public (undocumented)
export const NameCell: FC<NameCellProps>;

// @public (undocumented)
export interface NameCellProps extends TruncateProps {
	// (undocumented)
	mediaType?: MediaType;
}

// @public (undocumented)
interface RowData {
	// (undocumented)
	[key: string]: React.ReactNode | string;
}

// @public (undocumented)
interface RowProps {
	// (undocumented)
	className?: string;
}

export { SortOrderType };

// (No @packageDocumentation comment for this package)
```

<!--SECTION END: Main Entry Types-->

### Peer Dependencies

<!--SECTION START: Peer Dependencies-->

```json
{
	"@atlaskit/media-core": "^34.1.2",
	"@emotion/react": "^11.7.1",
	"react": "^16.8.0",
	"react-dom": "^16.8.0",
	"react-intl": "npm:react-intl@^5.18.1"
}
```

<!--SECTION END: Peer Dependencies-->
