import type { Author } from './author';
import type { Bookshelf } from './bookshelf';
import type { PaginatedResponse } from './common';
import type { Publisher } from './publisher';
import type { Tag } from './tag';

export interface FilterOption {
	value: string;
	name: string;
	items: {
		name?: string;
		title?: string;
		id: number | string;
	}[];
}

export interface SortOption {
	value: string;
	name: string;
}

export interface DynamicFilterData {
	authors: PaginatedResponse<Author>;
	bookshelves: PaginatedResponse<Bookshelf>;
	publishers: PaginatedResponse<Publisher>;
	tags: PaginatedResponse<Tag>;
}
