import { Api } from './Api';
import { RouteGateway } from './RouteGateway';
import { Func } from '../types/Func';
import { Uri } from '../types/Uri';
import { RequestOptions } from '../http/RequestOptions';
import { PageList } from '../types/PageList';
import { Json } from '../types/Json';
import { Optional } from '../types/Types';
export declare class ViewRouteGateway extends RouteGateway {
    readonly route: Func<Uri>;
    readonly routeId: Func<Uri>;
    readonly views: {
        in: import("../utils/View").View<any>;
        out: import("../utils/View").View<any>;
    };
    readonly api: Api;
    constructor(route: Func<Uri>, routeId: Func<Uri>, views?: {
        in: import("../utils/View").View<any>;
        out: import("../utils/View").View<any>;
    }, api?: Api);
    get(uri: Uri, options?: RequestOptions): Promise<PageList<Json>>;
    getOne(uri: Uri, options?: RequestOptions): Promise<Optional<Json>>;
    add(item: Json): Promise<Json>;
    update(item: Json): Promise<Json>;
}
