export interface NumericPagination { type: 'numeric'; size: number; total: number; page: number; hasNext: boolean; hasPrevious: boolean; } export interface UndefinedPagination { type: 'undefined'; size: number; total?: number; nextPageRef?: any; previousPageRef?: any; } export interface Page { items: T[]; pagination: NumericPagination | UndefinedPagination; }