import { OpenAPIDocument, RouterComponentsBase, RouterPlugin } from '../types.cjs';
export interface SwaggerUIOpts {
    spec?: OpenAPIDocument | undefined;
    dom_id?: string | undefined;
    displayOperationId?: boolean | undefined;
    tryItOutEnabled?: boolean | undefined;
    requestSnippetsEnabled?: boolean | undefined;
    displayRequestDuration?: boolean | undefined;
    defaultModelRendering?: 'model' | 'example' | 'schema' | undefined;
    defaultModelExpandDepth?: number | undefined;
    defaultModelsExpandDepth?: number | undefined;
    docExpansion?: 'none' | 'list' | 'full' | undefined;
    filter?: boolean | undefined;
    maxDisplayedTags?: number | undefined;
    showExtensions?: boolean | undefined;
    showCommonExtensions?: boolean | undefined;
    tagsSorter?: 'alpha' | undefined;
    operationsSorter?: 'alpha' | undefined;
    showTags?: boolean | undefined;
    showMutatedRequest?: boolean | undefined;
    oauth2RedirectUrl?: string | undefined;
    validatorUrl?: string | undefined;
    deepLinking?: boolean | undefined;
    presets?: any[] | undefined;
    plugins?: any[] | undefined;
    layout?: string | undefined;
}
export type OpenAPIPluginOptions = {
    oasEndpoint: string | false;
    swaggerUIEndpoint: string | false;
    swaggerUIOpts: SwaggerUIOpts;
    includeValidationErrors?: boolean | undefined;
};
export declare function useOpenAPI<TServerContext, TComponents extends RouterComponentsBase>({ oasEndpoint, swaggerUIEndpoint, swaggerUIOpts, includeValidationErrors, }: OpenAPIPluginOptions): RouterPlugin<TServerContext, TComponents>;
