import { Constructor, SkhailService, ServiceFunctions } from "@skhail/core"; export interface MethodParameter { name: string; in?: "path" | "query"; type?: "integer" | "string"; description?: string; required?: boolean; } export declare class APIMethodBuilder { private method; private _description?; private _summary?; private _success?; private _tags; private _mode; private _parameters; constructor(method: string); mode(mode: typeof this._mode): this; parameter({ name, in: where, required, description, type, }: MethodParameter): this; description(value?: string): this; summary(value?: string): this; tags(value?: string[]): this; success(value?: string): this; getOperationId(): string; buildDoc(): { [x: string]: { operationId: string; summary: string | undefined; description: string | undefined; tags: string[]; parameters: any[]; responses: { 200: { description: string | undefined; }; default: { description: string; }; }; }; }; } export declare class APIServiceBuilder> { private service; private methods; private _name; constructor(service: Constructor, name?: string); name(value: string): this; expose(method: keyof ServiceFunctions, path?: string): APIMethodBuilder; buildDoc(): { [k: string]: {}; }; buildHandlers(): {}; } export declare class OpenAPIBuilder { private services; service(service: Constructor>, name?: string): APIServiceBuilder>; buildDoc(): { paths: {}; }; buildHandlers(): {}; }