import { Router } from 'express';
import { DocRequestMatcher, RequiredDoc } from './types';
/**
 * Typed Express router based on an OpenAPI 3.1 spec.
 * @public
 */
export interface ApiRouter<Doc extends RequiredDoc> extends Router {
    get: DocRequestMatcher<Doc, this, 'get'>;
    post: DocRequestMatcher<Doc, this, 'post'>;
    all: DocRequestMatcher<Doc, this, 'all'>;
    put: DocRequestMatcher<Doc, this, 'put'>;
    delete: DocRequestMatcher<Doc, this, 'delete'>;
    patch: DocRequestMatcher<Doc, this, 'patch'>;
    options: DocRequestMatcher<Doc, this, 'options'>;
    head: DocRequestMatcher<Doc, this, 'head'>;
}
