import n = require("callables-rpc-views"); import model = require("raml1-domain-model"); export interface BasicCollection { range(): model.Type; forEach(f: (v: any, i?: number) => void): Promise; map(f: (v: any, i?: number) => any): Promise; page(): Page; setParameter(name: string, value: any): any; } export interface Page { value(): Promise; next(): Page; previous(): Page; hasNext(): boolean; hasPrevious(): boolean; isLoaded(): boolean; reset(): Page; setParameter(name: string, value: any): any; } export interface OffsetOrPageBasedPagingSpec { pName: string; zeroBased: boolean; results: string; _total: string; isByPage: boolean; _pageSize: number; } export declare class ParameterValueBasedPage implements Page { private parameters; private func; private pName; private maxValue; private zeroBased; private results; private _total; private isByPage; private _pageSize; constructor(parameters: { [name: string]: any; }, func: n.CallableFunction, pName: string, maxValue: number, zeroBased: boolean, results: string, _total: string, isByPage: boolean, _pageSize: number); setParameter(name: string, value: any): void; isLoaded(): boolean; cursor(): any; reset(): ParameterValueBasedPage; hasPrevious(): boolean; shift(): number; hasNext(): boolean; next(): ParameterValueBasedPage; previous(): ParameterValueBasedPage; private _cached; value(): Promise; private _totalNum; total(): Promise; last(): Promise; protected updateInternals(x: any): void; } export declare class OffsetOrPageBasedCollection implements BasicCollection { private c; private spec; private _range; constructor(c: n.CallableFunction, spec: OffsetOrPageBasedPagingSpec); parameters: any; setParameter(name: string, value: any): void; forEach(f: (v: any, i?: number) => void): Promise; map(f: (v: any, i?: number) => any): Promise; range(): model.Type; page(max?: number, pSize?: number): ParameterValueBasedPage; } export declare class LinkBasedCollection implements BasicCollection { private c; private _range; parameters: any; setParameter(name: string, value: any): void; constructor(c: n.CallableFunction); forEach(f: (v: any, i?: number) => void): Promise; map(f: (v: any, i?: number) => any): Promise; range(): model.Type; page(max?: number, pSize?: number): any; }