export interface RequestConfig { /** * Size of array returned. Default 10 */ size?: number; /** * Sort by field * Example: Resources More Donwlaoded */ sort?: { must: ('most' | 'least'); field: string; }; /** * Page number */ page?: number; /** * Fields to return */ fields?: string[] | (keyof T)[]; } export interface AuthorSearchFields { name: string; } export interface ResourceSearchFields { name: string; tag: string; } export interface SearchRequestConfig extends RequestConfig { query: string; field: keyof U; } export interface CategoryRequestConfig extends RequestConfig { } export interface IconI { url: string; hash: string; /** * Base64 encoded image data */ data: string; } export interface RatingI { count: number; average: number; }