import * as Koa from 'koa';
import { IDatabaseFunctions } from './database-functions';
import { IDatabaseRouterOptions } from './database-router-options';
export declare let databaseFunctions: IDatabaseFunctions;
export declare function getDatabasesRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function getDatabaseCollectionsRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function deleteDatabaseRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function getCollectionItemsRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function putCollectionItemsRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<{
    status: number;
}>;
export declare function postCollectionItemsRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function patchCollectionItemsRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function deleteCollectionItemsRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function getCollectionItemRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function putCollectionItemRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function patchCollectionItemRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function deleteCollectionItemRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function getCollectionSchemaRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function putCollectionSchemaRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function deleteCollectionSchemaRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function getCollectionIndicesRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function postCollectionIndicesRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export declare function deleteCollectionIndexRoute(options: IDatabaseRouterOptions): (ctx: Koa.ParameterizedContext<IParams>) => Promise<void>;
export interface IParams {
    database: string;
    collection: string;
    id: string;
}
