import type { OpenAPI, OpenAPIV2, OpenAPIV3, OpenAPIV3_1 } from '@scalar/openapi-types'; import type { ApiReferenceConfiguration } from '../api-reference/index.js'; import type { TargetId } from '../snippetz/index.js'; /** * This re-export is needed due to a typescript issue * @see https://github.com/microsoft/TypeScript/issues/42873 */ export type { OpenAPI, OpenAPIV2, OpenAPIV3, OpenAPIV3_1, } from '@scalar/openapi-types'; export type ClientInfo = { key: string; title: string; link: string; description: string; }; /** * Alias for the OpenAPI 3.1 ServerObject type * * @deprecated Use OpenAPIV3_1.ServerObject instead */ export type Server = OpenAPIV3_1.ServerObject; export type TargetInfo = { key: TargetId; title: string; extname: `.${string}` | null; default: string; }; export type HiddenClients = true | Partial<Record<TargetInfo['key'], boolean | ClientInfo['key'][]>> | ClientInfo['key'][]; export type PathRouting = { basePath: string; }; /** * @deprecated Use ApiReferenceConfiguration instead * * @example import type { ApiReferenceConfiguration } from '@scalar/types/api-reference' */ export type ReferenceConfiguration = Partial<ApiReferenceConfiguration>; export type BaseParameter = { name: string; description?: string | null; value: string | number | Record<string, any>; required?: boolean; enabled: boolean; }; type OptionalCharset = string | null; export type ContentType = `application/json${OptionalCharset}` | `application/xml${OptionalCharset}` | `text/plain${OptionalCharset}` | `text/html${OptionalCharset}` | `application/octet-stream${OptionalCharset}` | `application/x-www-form-urlencoded${OptionalCharset}` | `multipart/form-data${OptionalCharset}` | `*/*${OptionalCharset}` | `application/vnd.${string}+json${OptionalCharset}`; export type Cookie = { name: string; value: string; }; export type CustomRequestExample = { lang: string; label: string; source: string; }; export type Header = { name: string; value: string; }; export declare enum XScalarStability { Deprecated = "deprecated", Experimental = "experimental", Stable = "stable" } export type Operation = { id: string; httpVerb: OpenAPIV3_1.HttpMethods; path: string; name: string; isWebhook: boolean; description?: string; information: OpenAPIV3_1.OperationObject; servers?: OpenAPIV3_1.ServerObject[]; pathParameters?: OpenAPIV3_1.ParameterObject[]; }; /** * @deprecated Use Parameter instead */ export type Parameters = Parameter; export type Parameter = { name: string; in?: string; description?: string; required?: boolean; deprecated?: boolean; allowEmptyValue?: boolean; style?: 'form' | 'simple'; explode?: boolean; allowReserved?: boolean; schema?: Schema; example?: any; examples?: Map<string, any>; content?: RequestBodyMimeTypes; headers?: { [key: string]: OpenAPI.HeaderObject; }; }; export type Query = { name: string; value: string; }; export type RequestBodyMimeTypes = { [K in ContentType]?: { schema?: any; example?: any; examples?: any; }; }; export type RequestBody = { description?: string; required?: boolean; content?: RequestBodyMimeTypes; }; export type Schema = { type: string; name?: string; example?: any; default?: any; format?: string; description?: string; properties?: Record<string, Schema>; }; /** * This is a very strange and custom way to represent the operation object. * It’s the outcome of the `parse` helper. * * @deprecated This is evil. Stop using it. We’ll transition to use the new store. */ export type TransformedOperation = Operation & { pathParameters?: Parameter[]; }; export type CollapsedSidebarItems = Record<string, boolean>; export type AuthenticationState = { customSecurity?: boolean; /** You can pre-select a single security scheme, multiple, or complex security using an array of arrays */ preferredSecurityScheme?: string | (string | string[])[] | null; securitySchemes?: OpenAPIV2.SecurityDefinitionsObject | OpenAPIV3.ComponentsObject['securitySchemes'] | OpenAPIV3_1.ComponentsObject['securitySchemes']; http?: { basic?: { username?: string; password?: string; }; bearer?: { token?: string; }; }; apiKey?: { token?: string; }; oAuth2?: { clientId?: string; scopes?: string[]; accessToken?: string; state?: string; username?: string; password?: string; }; }; export type Heading = { depth: number; value: string; slug?: string; }; export type CodeBlockSSRKey = `components-scalar-code-block${number}`; export type DescriptionSectionSSRKey = `components-Content-Introduction-Description-sections${number}`; export type ScalarState = { 'hash'?: string; 'useGlobalStore-authentication'?: AuthenticationState; 'useSidebarContent-collapsedSidebarItems'?: CollapsedSidebarItems; [key: CodeBlockSSRKey]: string; [key: DescriptionSectionSSRKey]: { heading: Heading; content: string; }[]; }; export type SSRState = { payload: { data: ScalarState; }; url: string; }; export type Tag = { 'name': string; 'description': string; 'operations': TransformedOperation[]; 'x-displayName'?: string; }; export type TagGroup = { name: string; tags: string[]; }; export type Definitions = OpenAPIV2.DefinitionsObject; /** * Webhook (after our super custom transformation process) * * @deprecated Let’s get rid of those super custom transformed entities and use the store instead. */ export type Webhooks = Record<string, Record<OpenAPIV3_1.HttpMethods, TransformedOperation & { 'x-internal'?: boolean; }>>; /** * The native OpenAPI Webhook object, but with the x-internal and x-scalar-ignore properties */ export type Webhook = (OpenAPIV3.OperationObject | OpenAPIV3_1.OperationObject) & { 'x-internal'?: boolean; 'x-scalar-ignore'?: boolean; }; /** * @deprecated Use `@scalar/openapi-types` instead */ export type Spec = { 'tags'?: Tag[]; 'info': Partial<OpenAPIV2.Document['info']> | Partial<OpenAPIV3.Document['info']> | Partial<OpenAPIV3_1.Document['info']>; 'host'?: OpenAPIV2.Document['host']; 'basePath'?: OpenAPIV2.Document['basePath']; 'schemes'?: OpenAPIV2.Document['schemes']; 'externalDocs'?: { url: string; description?: string; }; 'servers'?: OpenAPIV3.Document['servers'] | OpenAPIV3_1.Document['servers']; 'components'?: OpenAPIV3.ComponentsObject | OpenAPIV3_1.ComponentsObject; 'webhooks'?: TransformedOperation[]; 'definitions'?: Definitions; 'swagger'?: OpenAPIV2.Document['swagger']; 'openapi'?: OpenAPIV3.Document['openapi'] | OpenAPIV3_1.Document['openapi']; 'x-tagGroups'?: TagGroup[]; 'security'?: OpenAPIV3.SecurityRequirementObject[]; }; //# sourceMappingURL=reference-config.d.ts.map