UNPKG

@scalar/types

Version:

Types to work with Scalar packages

545 lines 27.5 kB
import { type ZodType, z } from 'zod'; import type { AuthenticationConfiguration } from './authentication-configuration.js'; import { type SourceConfiguration } from './source-configuration.js'; /** * Standard configuration for the Api Reference. * * This is used internally to the configure the applications and does not include the sources. * * Sources should only be specified in the user facing configurations. * * In the the future it is likely sources will be removed completely from the configuration and instead * specified through a separate addDocument interface. */ export declare const apiReferenceConfigurationSchema: z.ZodObject<{ title: z.ZodOptional<z.ZodString>; slug: z.ZodOptional<z.ZodString>; authentication: z.ZodOptional<z.ZodAny>; baseServerURL: z.ZodOptional<z.ZodString>; hideClientButton: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; proxyUrl: z.ZodOptional<z.ZodString>; oauth2RedirectUri: z.ZodOptional<z.ZodString>; searchHotKey: z.ZodOptional<z.ZodEnum<{ a: "a"; b: "b"; c: "c"; d: "d"; e: "e"; f: "f"; g: "g"; h: "h"; i: "i"; j: "j"; k: "k"; l: "l"; m: "m"; n: "n"; o: "o"; p: "p"; q: "q"; r: "r"; s: "s"; t: "t"; u: "u"; v: "v"; w: "w"; x: "x"; y: "y"; z: "z"; }>>; servers: z.ZodOptional<z.ZodArray<z.ZodAny>>; showSidebar: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; showDeveloperTools: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ localhost: "localhost"; always: "always"; never: "never"; }>>>>; showToolbar: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ localhost: "localhost"; always: "always"; never: "never"; }>>>>; operationTitleSource: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ summary: "summary"; path: "path"; }>>>>; theme: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ default: "default"; alternate: "alternate"; moon: "moon"; purple: "purple"; solarized: "solarized"; bluePlanet: "bluePlanet"; deepSpace: "deepSpace"; saturn: "saturn"; kepler: "kepler"; elysiajs: "elysiajs"; fastify: "fastify"; mars: "mars"; laserwave: "laserwave"; none: "none"; }>>>>; _integration: z.ZodOptional<z.ZodNullable<z.ZodEnum<{ elysiajs: "elysiajs"; fastify: "fastify"; adonisjs: "adonisjs"; astro: "astro"; docusaurus: "docusaurus"; dotnet: "dotnet"; express: "express"; fastapi: "fastapi"; go: "go"; hono: "hono"; html: "html"; laravel: "laravel"; litestar: "litestar"; nestjs: "nestjs"; nextjs: "nextjs"; nitro: "nitro"; nuxt: "nuxt"; platformatic: "platformatic"; react: "react"; rust: "rust"; svelte: "svelte"; vue: "vue"; }>>>; onRequestSent: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodVoid>>; persistAuth: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; telemetry: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; externalUrls: z.ZodPrefault<z.ZodObject<{ dashboardUrl: z.ZodPrefault<z.ZodString>; registryUrl: z.ZodPrefault<z.ZodString>; proxyUrl: z.ZodPrefault<z.ZodString>; apiBaseUrl: z.ZodPrefault<z.ZodString>; }, z.core.$strip>>; layout: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ modern: "modern"; classic: "classic"; }>>>>; proxy: z.ZodOptional<z.ZodString>; fetch: z.ZodOptional<z.ZodCustom<(input: string | URL | Request, init?: RequestInit) => Promise<Response>, (input: string | URL | Request, init?: RequestInit) => Promise<Response>>>; customFetch: z.ZodOptional<z.ZodCustom<(input: string | URL | Request, init?: RequestInit) => Promise<Response>, (input: string | URL | Request, init?: RequestInit) => Promise<Response>>>; plugins: z.ZodOptional<z.ZodArray<z.ZodFunction<z.ZodTuple<readonly [], null>, z.ZodObject<{ name: z.ZodString; extensions: z.ZodArray<z.ZodObject<{ name: z.ZodString; component: z.ZodUnknown; renderer: z.ZodOptional<z.ZodUnknown>; }, z.core.$strip>>; views: z.ZodOptional<z.ZodObject<{ 'content.end': z.ZodOptional<z.ZodArray<z.ZodObject<{ component: z.ZodUnknown; renderer: z.ZodOptional<z.ZodUnknown>; props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, z.core.$strip>>>; }, z.core.$strip>>; hooks: z.ZodOptional<z.ZodObject<{ onInit: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ config: z.ZodObject<{ title: z.ZodOptional<z.ZodOptional<z.ZodString>>; slug: z.ZodOptional<z.ZodOptional<z.ZodString>>; authentication: z.ZodOptional<z.ZodOptional<z.ZodAny>>; baseServerURL: z.ZodOptional<z.ZodOptional<z.ZodString>>; hideClientButton: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>>; proxyUrl: z.ZodOptional<z.ZodOptional<z.ZodString>>; oauth2RedirectUri: z.ZodOptional<z.ZodOptional<z.ZodString>>; searchHotKey: z.ZodOptional<z.ZodOptional<z.ZodEnum<{ a: "a"; b: "b"; c: "c"; d: "d"; e: "e"; f: "f"; g: "g"; h: "h"; i: "i"; j: "j"; k: "k"; l: "l"; m: "m"; n: "n"; o: "o"; p: "p"; q: "q"; r: "r"; s: "s"; t: "t"; u: "u"; v: "v"; w: "w"; x: "x"; y: "y"; z: "z"; }>>>; servers: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodAny>>>; showSidebar: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>>; showDeveloperTools: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ localhost: "localhost"; always: "always"; never: "never"; }>>>>>; showToolbar: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ localhost: "localhost"; always: "always"; never: "never"; }>>>>>; operationTitleSource: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ summary: "summary"; path: "path"; }>>>>>; theme: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ default: "default"; alternate: "alternate"; moon: "moon"; purple: "purple"; solarized: "solarized"; bluePlanet: "bluePlanet"; deepSpace: "deepSpace"; saturn: "saturn"; kepler: "kepler"; elysiajs: "elysiajs"; fastify: "fastify"; mars: "mars"; laserwave: "laserwave"; none: "none"; }>>>>>; _integration: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<{ elysiajs: "elysiajs"; fastify: "fastify"; adonisjs: "adonisjs"; astro: "astro"; docusaurus: "docusaurus"; dotnet: "dotnet"; express: "express"; fastapi: "fastapi"; go: "go"; hono: "hono"; html: "html"; laravel: "laravel"; litestar: "litestar"; nestjs: "nestjs"; nextjs: "nextjs"; nitro: "nitro"; nuxt: "nuxt"; platformatic: "platformatic"; react: "react"; rust: "rust"; svelte: "svelte"; vue: "vue"; }>>>>; onRequestSent: z.ZodOptional<z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodVoid>>>; persistAuth: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>>; plugins: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodFunction<z.ZodTuple<readonly [], null>, z.ZodObject<{ name: z.ZodString; views: z.ZodOptional<z.ZodObject<{ 'request.section': z.ZodOptional<z.ZodArray<z.ZodObject<{ title: z.ZodOptional<z.ZodString>; component: z.ZodUnknown; props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, z.core.$strip>>>; 'response.section': z.ZodOptional<z.ZodArray<z.ZodObject<{ title: z.ZodOptional<z.ZodString>; component: z.ZodUnknown; props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, z.core.$strip>>>; }, z.core.$strip>>; hooks: z.ZodOptional<z.ZodObject<{ onBeforeRequest: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ request: z.ZodAny; }, z.core.$strip>], null>, z.core.$ZodFunctionOut>>; onResponseReceived: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ response: z.ZodCustom<Response, Response>; operation: z.ZodRecord<z.ZodString, z.ZodAny>; }, z.core.$strip>], null>, z.core.$ZodFunctionOut>>; }, z.core.$strip>>; }, z.core.$strip>>>>>; telemetry: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; externalUrls: z.ZodOptional<z.ZodPrefault<z.ZodObject<{ dashboardUrl: z.ZodPrefault<z.ZodString>; registryUrl: z.ZodPrefault<z.ZodString>; proxyUrl: z.ZodPrefault<z.ZodString>; apiBaseUrl: z.ZodPrefault<z.ZodString>; }, z.core.$strip>>>; }, z.core.$strip>; }, z.core.$strip>], null>, z.core.$ZodFunctionOut>>; onConfigChange: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ config: z.ZodObject<{ title: z.ZodOptional<z.ZodOptional<z.ZodString>>; slug: z.ZodOptional<z.ZodOptional<z.ZodString>>; authentication: z.ZodOptional<z.ZodOptional<z.ZodAny>>; baseServerURL: z.ZodOptional<z.ZodOptional<z.ZodString>>; hideClientButton: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>>; proxyUrl: z.ZodOptional<z.ZodOptional<z.ZodString>>; oauth2RedirectUri: z.ZodOptional<z.ZodOptional<z.ZodString>>; searchHotKey: z.ZodOptional<z.ZodOptional<z.ZodEnum<{ a: "a"; b: "b"; c: "c"; d: "d"; e: "e"; f: "f"; g: "g"; h: "h"; i: "i"; j: "j"; k: "k"; l: "l"; m: "m"; n: "n"; o: "o"; p: "p"; q: "q"; r: "r"; s: "s"; t: "t"; u: "u"; v: "v"; w: "w"; x: "x"; y: "y"; z: "z"; }>>>; servers: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodAny>>>; showSidebar: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>>; showDeveloperTools: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ localhost: "localhost"; always: "always"; never: "never"; }>>>>>; showToolbar: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ localhost: "localhost"; always: "always"; never: "never"; }>>>>>; operationTitleSource: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ summary: "summary"; path: "path"; }>>>>>; theme: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ default: "default"; alternate: "alternate"; moon: "moon"; purple: "purple"; solarized: "solarized"; bluePlanet: "bluePlanet"; deepSpace: "deepSpace"; saturn: "saturn"; kepler: "kepler"; elysiajs: "elysiajs"; fastify: "fastify"; mars: "mars"; laserwave: "laserwave"; none: "none"; }>>>>>; _integration: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<{ elysiajs: "elysiajs"; fastify: "fastify"; adonisjs: "adonisjs"; astro: "astro"; docusaurus: "docusaurus"; dotnet: "dotnet"; express: "express"; fastapi: "fastapi"; go: "go"; hono: "hono"; html: "html"; laravel: "laravel"; litestar: "litestar"; nestjs: "nestjs"; nextjs: "nextjs"; nitro: "nitro"; nuxt: "nuxt"; platformatic: "platformatic"; react: "react"; rust: "rust"; svelte: "svelte"; vue: "vue"; }>>>>; onRequestSent: z.ZodOptional<z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodVoid>>>; persistAuth: z.ZodOptional<z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>>; plugins: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodFunction<z.ZodTuple<readonly [], null>, z.ZodObject<{ name: z.ZodString; views: z.ZodOptional<z.ZodObject<{ 'request.section': z.ZodOptional<z.ZodArray<z.ZodObject<{ title: z.ZodOptional<z.ZodString>; component: z.ZodUnknown; props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, z.core.$strip>>>; 'response.section': z.ZodOptional<z.ZodArray<z.ZodObject<{ title: z.ZodOptional<z.ZodString>; component: z.ZodUnknown; props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, z.core.$strip>>>; }, z.core.$strip>>; hooks: z.ZodOptional<z.ZodObject<{ onBeforeRequest: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ request: z.ZodAny; }, z.core.$strip>], null>, z.core.$ZodFunctionOut>>; onResponseReceived: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ response: z.ZodCustom<Response, Response>; operation: z.ZodRecord<z.ZodString, z.ZodAny>; }, z.core.$strip>], null>, z.core.$ZodFunctionOut>>; }, z.core.$strip>>; }, z.core.$strip>>>>>; telemetry: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; externalUrls: z.ZodOptional<z.ZodPrefault<z.ZodObject<{ dashboardUrl: z.ZodPrefault<z.ZodString>; registryUrl: z.ZodPrefault<z.ZodString>; proxyUrl: z.ZodPrefault<z.ZodString>; apiBaseUrl: z.ZodPrefault<z.ZodString>; }, z.core.$strip>>>; }, z.core.$strip>; }, z.core.$strip>], null>, z.core.$ZodFunctionOut>>; onDestroy: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [], null>, z.core.$ZodFunctionOut>>; }, z.core.$strip>>; apiClientPlugins: z.ZodOptional<z.ZodArray<z.ZodAny>>; }, z.core.$strip>>>>; isEditable: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; isLoading: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; hideModels: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; documentDownloadType: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<{ none: "none"; both: "both"; yaml: "yaml"; json: "json"; direct: "direct"; }>>>>; hideDownloadButton: z.ZodOptional<z.ZodBoolean>; hideTestRequestButton: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; hideSearch: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; showOperationId: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; darkMode: z.ZodOptional<z.ZodBoolean>; forceDarkModeState: z.ZodOptional<z.ZodEnum<{ dark: "dark"; light: "light"; }>>; hideDarkModeToggle: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; metaData: z.ZodOptional<z.ZodAny>; favicon: z.ZodOptional<z.ZodString>; hiddenClients: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>>, z.ZodArray<z.ZodString>, z.ZodLiteral<true>]>>; defaultHttpClient: z.ZodOptional<z.ZodObject<{ targetKey: z.ZodCustom<"http" | "c" | "r" | "go" | "rust" | "clojure" | "csharp" | "dart" | "fsharp" | "java" | "js" | "kotlin" | "node" | "objc" | "ocaml" | "php" | "powershell" | "python" | "ruby" | "shell" | "swift", "http" | "c" | "r" | "go" | "rust" | "clojure" | "csharp" | "dart" | "fsharp" | "java" | "js" | "kotlin" | "node" | "objc" | "ocaml" | "php" | "powershell" | "python" | "ruby" | "shell" | "swift">; clientKey: z.ZodString; }, z.core.$strip>>; customCss: z.ZodOptional<z.ZodString>; onSpecUpdate: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodVoid>>; onServerChange: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodVoid>>; onDocumentSelect: z.ZodType<(() => Promise<void> | void) | undefined>; onLoaded: z.ZodType<((slug: string) => Promise<void> | void) | undefined>; onBeforeRequest: z.ZodType<((a: { request: Request; requestBuilder: any; envVariables: Record<string, string>; }) => Promise<void> | void) | undefined>; onShowMore: z.ZodType<((a: string) => Promise<void> | void) | undefined>; onSidebarClick: z.ZodType<((a: string) => Promise<void> | void) | undefined>; pathRouting: z.ZodOptional<z.ZodObject<{ basePath: z.ZodString; }, z.core.$strip>>; mcp: z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; url: z.ZodOptional<z.ZodString>; disabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>>; generateHeadingSlug: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ slug: z.ZodDefault<z.ZodString>; }, z.core.$strip>], null>, z.ZodString>>; generateModelSlug: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ name: z.ZodDefault<z.ZodString>; }, z.core.$strip>], null>, z.ZodString>>; generateTagSlug: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ name: z.ZodDefault<z.ZodString>; }, z.core.$strip>], null>, z.ZodString>>; generateOperationSlug: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ path: z.ZodString; operationId: z.ZodOptional<z.ZodString>; method: z.ZodString; summary: z.ZodOptional<z.ZodString>; }, z.core.$strip>], null>, z.ZodString>>; generateWebhookSlug: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{ name: z.ZodString; method: z.ZodOptional<z.ZodString>; }, z.core.$strip>], null>, z.ZodString>>; redirect: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodOptional<z.ZodNullable<z.ZodString>>>>; withDefaultFonts: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; defaultOpenFirstTag: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; defaultOpenAllTags: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; expandAllModelSections: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; expandAllResponses: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; tagsSorter: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"alpha">, z.ZodFunction<z.ZodTuple<readonly [z.ZodAny, z.ZodAny], null>, z.ZodNumber>]>>; operationsSorter: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"alpha">, z.ZodLiteral<"method">, z.ZodFunction<z.ZodTuple<readonly [z.ZodAny, z.ZodAny], null>, z.ZodNumber>]>>; orderSchemaPropertiesBy: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"alpha">, z.ZodLiteral<"preserve">]>>>>; orderRequiredPropertiesFirst: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>; }, z.core.$strip>; /** * Pure configuration without the sources * * @deprecated Remove this once the types have been fully migrated */ export type ApiReferenceConfigurationRaw = Omit<z.infer<typeof apiReferenceConfigurationSchema>, // Remove deprecated attributes // Remove deprecated attributes 'proxy' | 'spec' | 'authentication' | 'showToolbar'> & { authentication?: AuthenticationConfiguration; }; /** * Configuration for the Scalar Api Reference integrations * * See the type `ApiReferenceConfigurationWithSource` or `AnyApiReferenceConfiguration`\ * for the configuration that includes the sources for you OpenAPI documents */ export type ApiReferenceConfiguration = ApiReferenceConfigurationRaw & { /** @deprecated * This type now refers to the base configuration that does not include the sources. * Use the type `ApiReferenceConfigurationWithSource` instead. */ url?: SourceConfiguration['url']; /** @deprecated * This type now refers to the base configuration that does not include the sources. * Use the type `ApiReferenceConfigurationWithSource` instead. */ content?: SourceConfiguration['content']; /** * Fired before the outbound request is built and sent. Mutate the **request builder** so the eventual fetch call * reflects your changes (method, path, headers, body, and related fields). * * **Experimental:** The builder matches {@link https://github.com/scalar/scalar/blob/main/packages/workspace-store/src/request-example/builder/request-factory.ts RequestFactory} * (`import type { RequestFactory } from '@scalar/workspace-store/request-example'`). That shape is still experimental and may change in minor releases. * * @param input - Hook argument from the integration layer. * @param input.request - **Deprecated** when treated as a fetch API `Request`. Prefer thinking of this value as the * mutable builder ({@link https://github.com/scalar/scalar/blob/main/packages/workspace-store/src/request-example/builder/request-factory.ts RequestFactory}). * Some call sites only pass this property. * @param input.requestBuilder - The same builder when exposed under this name; **prefer** mutating this when your integration provides it. * @returns void or a promise that resolves when the hook finishes * @example * ```ts * onBeforeRequest: ({ request: builder }) => { * builder.headers.set('Authorization', 'Bearer <token>') * } * ``` */ onBeforeRequest?: (input: { request: Request; requestBuilder: any; envVariables: Record<string, string>; }) => void | Promise<void> | undefined; }; /** Migrate the configuration through a transform */ /** Configuration for the Api Reference */ export declare const apiReferenceConfigurationWithSourceSchema: ZodType<Omit<ApiReferenceConfiguration, 'url' | 'content'> & SourceConfiguration>; /** * User facing configuration that includes the document source configuration */ export type ApiReferenceConfigurationWithSource = Omit<z.infer<typeof apiReferenceConfigurationWithSourceSchema>, 'proxy' | 'spec' | 'authentication' | 'showToolbar'> & { authentication?: AuthenticationConfiguration; }; /** * Configuration for a single config with multiple sources * The configuration will be shared between the documents */ export type ApiReferenceConfigurationWithMultipleSources = ApiReferenceConfigurationWithSource & { sources: SourceConfiguration[]; }; /** Configuration for multiple Api References */ export type AnyApiReferenceConfiguration = Partial<ApiReferenceConfigurationWithSource> | Partial<ApiReferenceConfigurationWithMultipleSources> | Partial<ApiReferenceConfigurationWithSource>[] | Partial<ApiReferenceConfigurationWithMultipleSources>[]; //# sourceMappingURL=api-reference-configuration.d.ts.map