import { APIServer, BaseResponse, FakeRestContext, CollectionItem, QueryFunction, NormalizedRequest } from './types.ts'; import { Single } from './Single.ts'; import { Database, DatabaseOptions } from './Database.ts'; import { Collection } from './Collection.ts'; export declare class SimpleRestServer implements APIServer { baseUrl: string; defaultQuery: QueryFunction; middlewares: Array; database: Database; constructor({ baseUrl, defaultQuery, database, middlewares, ...options }?: BaseServerOptions); /** * @param Function ResourceName => object */ setDefaultQuery(query: QueryFunction): void; getContext(normalizedRequest: NormalizedRequest): FakeRestContext; handle(normalizedRequest: NormalizedRequest): Promise; handleRequest(context: FakeRestContext): BaseResponse; addMiddleware(middleware: Middleware): void; addCollection(name: string, collection: Collection): void; getCollection(name: string): Collection; getCollectionNames(): string[]; addSingle(name: string, single: Single): void; getSingle(name: string): Single; getSingleNames(): string[]; } export type Middleware = (context: FakeRestContext, next: (context: FakeRestContext) => Promise | BaseResponse) => Promise | BaseResponse; export type BaseServerOptions = DatabaseOptions & { database?: Database; baseUrl?: string; batchUrl?: string | null; defaultQuery?: QueryFunction; middlewares?: Array; };