import { Fields } from '../../helpers/fieldsHelper'; import { AbstractModel } from '../model/AbstractModel'; import { DataAccessor } from "../DataAccessor"; interface Request { start: string; length: string; order: Order[]; columns: Column[]; search: Search; draw: string; } interface Order { column: string; dir: string; } export interface Column { data: string; searchable: string; orderable: string; search: { value: string; regex: 'true' | 'false' | boolean; }; } interface Search { value: string; } export interface NodeOutput { draw: string | number; recordsTotal: number; recordsFiltered: number; data: object[]; } export declare class NodeTable { request: Request; model: AbstractModel; fields: Fields; fieldsArray: string[]; constructor(request: Request, model: AbstractModel, fields: Fields); limit(): Promise; order(): string; filter(): any; buildQuery(): Promise; output(callback: (err: Error, output: NodeOutput) => void, dataAccessor: DataAccessor): Promise; mapData(data: { [key: string]: any; }): object[]; } export {};