import { Model, FindOptions, Attributes } from 'sequelize'; export declare type OrderDirection = 'DESC' | 'ASC'; export declare type FieldOrderConfig = [string, OrderDirection]; export declare type OrderConfig = FieldOrderConfig[]; export declare type CursorPayload = any[]; export interface PaginationEdge<Node = any> { cursor: string; node: Node; } export interface PageInfo { hasNextPage: boolean; hasPreviousPage: boolean; startCursor: string | null; endCursor: string | null; } export interface PaginationConnection<Node = any> { totalCount: number; edges: PaginationEdge<Node>[]; pageInfo: PageInfo; } export interface MakePaginateOptions { primaryKeyField?: string | string[]; omitPrimaryKeyFromOrder?: boolean; } export interface PaginateOptions<ModelType extends Model> extends FindOptions<Attributes<ModelType>> { after?: string; before?: string; }