export class ClientSidePagingResponse { originalResponse: any; allItems: any[]; } export class ServerSidePagingRequest { params: any; pageNumber: number; pageSize: number; } export class ServerSidePagingResponse { originalResponse: any; items: any[]; totalItemCount: number; totalPageCount: number; } export class ServiceProxy { call: (parameters, successCallback: (response?) => void, failCallback: () => void) => void; constructor(call: (parameters, successCallback: (response: any) => void, failCallback) => void) { //TODO put strictly type test here this.call = call; } } export class ClientSidePagingProxy { call: (parameters, successCallback: (response: ClientSidePagingResponse) => void, failCallback: () => void) => void; constructor(call: (parameters, successCallback: (response: ClientSidePagingResponse) => void, failCallback) => void) { //TODO put strictly type test here this.call = call; } } export class ServerSidePagingProxy { call: (request: ServerSidePagingRequest, successCallback: (response: ServerSidePagingResponse) => void, failCallback: () => void) => void; constructor(call: (request: ServerSidePagingRequest, successCallback: (response: ServerSidePagingResponse) => void, failCallback) => void) { //TODO put strictly type test here this.call = call; } }