import { Search } from './SearchBar/SearchBar'; interface IPagedResult { Data: T[]; NumberOfPages: number; TotalRecords: number; RecordsPerPage: number; } export default class GenericController { APIPath: string; DefaultSort: keyof T; Ascending: boolean; Fetch: (parentID: (void | number | string | null), sortField?: keyof T, ascending?: boolean) => JQuery.jqXHR; DBAction: (verb: 'POST' | 'DELETE' | 'PATCH', record: T) => JQuery.jqXHR; DBSearch: (filter: Search.IFilter[], sortField?: keyof T, ascending?: boolean, parentID?: (number | string)) => JQuery.jqXHR; PagedSearch: (filter: Search.IFilter[], sortField?: keyof T, ascending?: boolean, page?: number, parentID?: (number | string)) => JQuery.jqXHR>; /** * Creates a new Controler of type T, which can be used to perform basic CRUD operations against * a specified web api. without the Reduxstore associated with GenericSlice * @typeParam T - Model of Generic Slice * @param {string} apiPath - string containing relative path to web api * @returns a new GenericController */ constructor(apiPath: string, defaultSort: keyof T, ascending?: boolean); private GetRecords; private Action; private Search; private FetchPage; } export {};