/**
 * This file is autogenerated. Do not edit it.
 *
 * Generated at: 2026-05-21T19:11:01.297Z
 */
export type ContactObject = {
    /** The name of the contact. */
    name?: string;
    /** The URI for the contact information. This MUST be in the form of a URI. */
    url?: string;
    /** The email address of the contact person/organization. This MUST be in the form of an email address. */
    email?: string;
};
export type LicenseObject = {
    /** REQUIRED. The license name used for the API. */
    name: string;
    /** An SPDX license expression for the API. The identifier field is mutually exclusive of the url field. */
    identifier?: string;
    /** A URI for the license used for the API. This MUST be in the form of a URI. The url field is mutually exclusive of the identifier field. */
    url?: string;
};
/** One SDK installation instruction block */
export type XScalarSdkInstallationItem = {
    /** Programming language or platform (for example `shell`, `javascript`) */
    lang: string;
    /** Installation command or snippet source */
    source?: string;
    /** Human-readable description of this installation option */
    description?: string;
};
/**
 * Scalar SDK installation instructions for the API description.
 *
 * @example
 * ```yaml
 * x-scalar-sdk-installation:
 * - lang: shell
 * source: npm install @scalar/api-client
 * ```
 */
export type XScalarSdkInstallation = {
    /** Installation instructions shown in the API reference */
    'x-scalar-sdk-installation'?: XScalarSdkInstallationItem[];
};
export type InfoObject = {
    /** REQUIRED. The title of the API. */
    title: string;
    /** REQUIRED. The version of the OpenAPI Document (which is distinct from the OpenAPI Specification version or the version of the API being described or the version of the OpenAPI Description). */
    version: string;
    /** A short summary of the API. */
    summary?: string;
    /** A description of the API. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    /** A URI for the Terms of Service for the API. This MUST be in the form of a URI. */
    termsOfService?: string;
    contact?: ContactObject;
    license?: LicenseObject;
} & XScalarSdkInstallation;
export type ServerVariableObject = {
    /** An enumeration of string values to be used if the substitution options are from a limited set. The array MUST NOT be empty. */
    enum?: string[];
    /** REQUIRED. The default value to use for substitution, which SHALL be sent if an alternate value is not supplied. If the enum is defined, the value MUST exist in the enum's values. Note that this behavior is different from the Schema Object's default keyword, which documents the receiver's behavior rather than inserting the value into the data. */
    default: string;
    /** An optional description for the server variable. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
};
export type ServerObject = {
    /** REQUIRED. A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the document containing the Server Object is being served. Variable substitutions will be made when a variable is named in {braces}. */
    url: string;
    /** An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    /** A map between a variable name and its value. The value is used for substitution in the server's URL template. */
    variables?: Record<string, ServerVariableObject>;
};
/** An array of Server Objects, which provide connectivity information to a target server. If the servers field is not provided, or is an empty array, the default value would be a Server Object with a url value of /. */
export type OpenApiServers = ServerObject[];
/** A list of tags for API documentation control. Tags can be used for logical grouping of operations by resources or any other qualifier. */
export type OperationTags = string[];
export type ExternalDocumentationObject = {
    /** REQUIRED. The URI for the target documentation. This MUST be in the form of a URI. */
    url: string;
    /** A description of the target documentation. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
};
/** REQUIRED. The location of the parameter. Possible values are "query", "header", "path" or "cookie". */
export type ParameterLocation = 'query' | 'header' | 'path' | 'cookie';
/** Array of allowed values. */
export type JsonSchemaEnum = any[];
export type ReferenceObject = {
    /** REQUIRED. The reference identifier. This MUST be in the form of a URI. */
    $ref: string;
    /** A short summary which by default SHOULD override that of the referenced component. If the referenced object-type does not allow a summary field, then this field has no effect. */
    summary?: string;
    /** A description which by default SHOULD override that of the referenced component. CommonMark syntax MAY be used for rich text representation. If the referenced object-type does not allow a description field, then this field has no effect. */
    description?: string;
};
export type DiscriminatorObject = {
    /** REQUIRED. The name of the property in the payload that will hold the discriminating value. This property SHOULD be required in the payload schema, as the behavior when the property is absent is undefined. */
    propertyName: string;
    /** An object to hold mappings between payload values and schema names or URI references. */
    mapping?: Record<string, string>;
};
export type XMLObject = {
    /** Replaces the name of the element/attribute used for the described schema property. When defined within items, it will affect the name of the individual XML elements within the list. When defined alongside type being "array" (outside the items), it will affect the wrapping element if and only if wrapped is true. If wrapped is false, it will be ignored. */
    name?: string;
    /** The URI of the namespace definition. Value MUST be in the form of a non-relative URI. */
    namespace?: string;
    /** The prefix to be used for the name. */
    prefix?: string;
    /** Declares whether the property definition translates to an attribute instead of an element. Default value is false. */
    attribute?: boolean;
    /** MAY be used only for an array definition. Signifies whether the array is wrapped (for example, <books><book/><book/></books>) or unwrapped (<book/><book/>). Default value is false. The definition takes effect only when defined alongside type being "array" (outside the items). */
    wrapped?: boolean;
};
/** An array of examples of valid instances for this schema. This keyword follows the JSON Schema Draft 2020-12 specification. */
export type SchemaExamplesArray = any[];
export type SchemaObjectAllOf = (SchemaObject | ReferenceObject)[];
export type SchemaObjectOneOf = (SchemaObject | ReferenceObject)[];
export type SchemaObjectAnyOf = (SchemaObject | ReferenceObject)[];
/**
 * Internal extension to mark an entity as ignored in the Scalar UI.
 *
 * @example
 * ```yaml
 * x-scalar-ignore: true
 * ```
 */
export type XScalarIgnore = {
    /** When true, the entity is hidden or ignored in the UI */
    'x-scalar-ignore'?: boolean;
};
/**
 * Marks an entity as internal (hidden from external consumers).
 *
 * @example
 * ```yaml
 * x-internal: true
 * ```
 */
export type XInternal = {
    /** When true, hides the entity from public documentation */
    'x-internal'?: boolean;
};
/**
 * References a variable for schema property substitution in the API client.
 *
 * @example
 * ```yaml
 * x-variable: userId
 * ```
 */
export type XVariable = {
    /** Variable name used for substitution in the API client */
    'x-variable'?: string;
};
/**
 * Named examples attached to a schema. Keys are example names; values are the example payloads.
 *
 * @example
 * ```yaml
 * x-examples:
 * user:
 * id: 1
 * name: Ada
 * ```
 */
export type XExamples = {
    /** Map of example name to example value */
    'x-examples'?: Record<string, any>;
};
/**
 * Descriptions for enum values. Keys must match enum values.
 *
 * @example
 * ```yaml
 * x-enumDescriptions:
 * other: Other reason
 * ```
 */
export type XEnumDescriptions = {
    /** Map or list of descriptions keyed by enum value (camelCase spelling) */
    'x-enumDescriptions'?: Record<string, string> | string[];
    /** Map or list of descriptions keyed by enum value (kebab-case spelling) */
    'x-enum-descriptions'?: Record<string, string> | string[];
};
/**
 * Display names for enum values. Must match the order of the `enum` array.
 *
 * @example
 * ```yaml
 * enum: [moon, asteroid]
 * x-enum-varnames: [Moon, Asteroid]
 * ```
 */
export type XEnumVarNames = {
    /** Display names for enum values (same order as `enum`) */
    'x-enum-varnames'?: string[];
    /** Alias for x-enum-varnames — display names for enum values */
    'x-enumNames'?: string[];
};
/**
 * Display name for additional properties on a schema object.
 *
 * @example
 * ```yaml
 * x-additionalPropertiesName: metadata
 * ```
 */
export type XAdditionalPropertiesName = {
    /** Human-readable label for additional properties on this schema */
    'x-additionalPropertiesName'?: string;
};
/**
 * Custom tag ordering hints for schema objects in the sidebar.
 *
 * @example
 * ```yaml
 * x-tags:
 * - users
 * - admin
 * ```
 */
export type XTags = {
    /** Ordered list of tag names for this schema object */
    'x-tags'?: string[];
};
export type SchemaObjectMultiTypeKeywords = 'null' | 'boolean' | 'string' | 'number' | 'integer' | 'object' | 'array';
export type SchemaObjectOtherTypeKeyword = 'null' | 'boolean' | SchemaObjectMultiTypeKeywords[];
export type MultiTypeSchemaObject = {
    type: SchemaObjectOtherTypeKeyword;
};
export type NumberSchemaObject = {
    type: 'number' | 'integer';
    /** Different subtypes. */
    format?: string;
    /** Number must be a multiple of this value. */
    multipleOf?: number;
    /** Maximum value (inclusive). */
    maximum?: number;
    /** Maximum value (exclusive). */
    exclusiveMaximum?: number;
    /** Minimum value (inclusive). */
    minimum?: number;
    /** Minimum value (exclusive). */
    exclusiveMinimum?: number;
};
export type StringSchemaObject = {
    type: 'string';
    /** Different subtypes. */
    format?: string;
    /** Maximum string length. */
    maxLength?: number;
    /** Minimum string length. */
    minLength?: number;
    /** Regular expression pattern. */
    pattern?: string;
};
export type SchemaObjectProperties = Record<string, SchemaObject | ReferenceObject>;
export type SchemaObjectRequired = string[];
export type SchemaObjectAdditionalProperties = (SchemaObject | ReferenceObject) | {} | boolean;
export type SchemaObjectPatternProperties = Record<string, SchemaObject | ReferenceObject>;
export type ObjectSchemaObject = {
    type: 'object';
    /** Maximum number of properties. */
    maxProperties?: number;
    /** Minimum number of properties. */
    minProperties?: number;
    properties?: SchemaObjectProperties;
    required?: SchemaObjectRequired;
    additionalProperties?: SchemaObjectAdditionalProperties;
    patternProperties?: SchemaObjectPatternProperties;
    propertyNames?: SchemaObject | ReferenceObject;
};
export type ArraySchemaObject = {
    type: 'array';
    /** Maximum number of items in array. */
    maxItems?: number;
    /** Minimum number of items in array. */
    minItems?: number;
    /** Whether array items must be unique. */
    uniqueItems?: boolean;
    items?: SchemaObject | ReferenceObject;
    /** Schema for tuple validation. */
    prefixItems?: (SchemaObject | ReferenceObject)[];
};
export type SchemaObject = {
    /** Schema name (extension). */
    name?: string;
    /** A title for the schema. */
    title?: string;
    /** A description of the schema. */
    description?: string;
    /** Default value for the schema. */
    default?: any;
    /** Array of allowed values. */
    enum?: JsonSchemaEnum;
    /** Constant value that must match exactly. */
    const?: any;
    /** Media type for content validation. */
    contentMediaType?: string;
    /** Content encoding. */
    contentEncoding?: string;
    contentSchema?: SchemaObject | ReferenceObject;
    /** Whether the schema is deprecated. */
    deprecated?: boolean;
    discriminator?: DiscriminatorObject;
    /** Whether the schema is read-only. */
    readOnly?: boolean;
    /** Whether the schema is write-only. */
    writeOnly?: boolean;
    xml?: XMLObject;
    externalDocs?: ExternalDocumentationObject;
    /** A free-form field to include an example of an instance for this schema. Deprecated in favor of the JSON Schema examples keyword. */
    example?: any;
    /** An array of examples of valid instances for this schema. This keyword follows the JSON Schema Draft 2020-12 specification. */
    examples?: SchemaExamplesArray;
    allOf?: SchemaObjectAllOf;
    oneOf?: SchemaObjectOneOf;
    anyOf?: SchemaObjectAnyOf;
    not?: SchemaObject | ReferenceObject;
} & XScalarIgnore & XInternal & XVariable & XExamples & XEnumDescriptions & XEnumVarNames & XAdditionalPropertiesName & XTags & (MultiTypeSchemaObject | NumberSchemaObject | StringSchemaObject | ObjectSchemaObject | ArraySchemaObject | {});
/**
 * Whether a parameter example is disabled in the API client (`true` = not sent).
 *
 * @example
 * ```yaml
 * x-disabled: true
 * ```
 */
export type XDisabled = {
    /** When true, the parameter example is not sent with the request */
    'x-disabled'?: boolean;
};
export type ExampleObject = {
    /** Short description for the example. */
    summary?: string;
    /** Long description for the example. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    /** Embedded literal example. The value field and externalValue field are mutually exclusive. */
    value?: any;
    /** A URI that identifies the literal example. The value field and externalValue field are mutually exclusive. */
    externalValue?: string;
} & XDisabled;
export type ReferenceObjectExtensions = {
    /** Indicates the current status of the reference resolution. Can be either 'loading' while fetching the reference or 'error' if the resolution failed. */
    $status?: 'loading' | 'error';
    /** Indicates whether this reference should be resolved globally across all documents, rather than just within the current document context. */
    $global?: boolean;
};
export type ParameterExamples = Record<string, ExampleObject | (ReferenceObject & {
    '$ref-value': ExampleObject;
} & ReferenceObjectExtensions)>;
/**
 * When true, the parameter is injected into every request for the workspace.
 *
 * @example
 * ```yaml
 * x-global: true
 * ```
 */
export type XGlobal = {
    /** When true, the parameter is injected into every request for the workspace */
    'x-global'?: boolean;
};
export type ParameterObjectWithSchema = {
    /** REQUIRED. The name of the parameter. Parameter names are case sensitive. If in is "path", the name field MUST correspond to a template expression occurring within the path field in the Paths Object. */
    name: string;
    /** REQUIRED. The location of the parameter. Possible values are "query", "header", "path" or "cookie". */
    in: ParameterLocation;
    /** A brief description of the parameter. This could contain examples of use. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    /** Determines whether this parameter is mandatory. If the parameter location is "path", this field is REQUIRED and its value MUST be true. */
    required?: boolean;
    /** Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is false. */
    deprecated?: boolean;
    /** If true, clients MAY pass a zero-length string value in place of parameters that would otherwise be omitted entirely. This field is valid only for query parameters. */
    allowEmptyValue?: boolean;
    /** When this is true, parameter values are serialized using reserved expansion, as defined by RFC6570. This field only applies to parameters with an in value of query. The default value is false. */
    allowReserved?: boolean;
    /** Describes how the parameter value will be serialized (depending on the schema type). */
    style?: string;
    /** When this is true, parameter values of type array or object generate separate parameters for each array item or object property. */
    explode?: boolean;
    schema?: SchemaObject | ReferenceObject;
    example?: any;
    examples?: ParameterExamples;
} & XGlobal & XInternal & XScalarIgnore;
export type MediaTypeExamples = Record<string, ExampleObject | (ReferenceObject & {
    '$ref-value': ExampleObject;
} & ReferenceObjectExtensions)>;
export type HeaderBase = {
    /** A brief description of the header. This could contain examples of use. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    /** Determines whether this header is mandatory. The default value is false. */
    required?: boolean;
    /** Specifies that the header is deprecated and SHOULD be transitioned out of usage. Default value is false. */
    deprecated?: boolean;
};
export type HeaderExamples = Record<string, ExampleObject | (ReferenceObject & {
    '$ref-value': ExampleObject;
} & ReferenceObjectExtensions)>;
export type HeaderObjectWithSchema = {
    /** Describes how the header value will be serialized. The default (and only legal value for headers) is "simple". */
    style?: string;
    /** When this is true, header values of type array or object generate a single header whose value is a comma-separated list of the array items or key-value pairs of the map, see Style Examples. */
    explode?: boolean;
    schema?: SchemaObject | ReferenceObject;
    example?: any;
    examples?: HeaderExamples;
};
export type HeaderContent = Record<string, MediaTypeObject>;
export type HeaderObjectWithContent = {
    content?: HeaderContent;
};
export type HeaderObject = (HeaderBase & HeaderObjectWithSchema) | (HeaderBase & HeaderObjectWithContent);
export type EncodingHeaders = Record<string, HeaderObject | (ReferenceObject & {
    '$ref-value': HeaderObject;
} & ReferenceObjectExtensions)>;
export type EncodingObject = {
    /** The Content-Type for encoding a specific property. The value is a comma-separated list, each element of which is either a specific media type (e.g. image/png) or a wildcard media type (e.g. image/*). */
    contentType?: string;
    headers?: EncodingHeaders;
};
/** A map between a property name and its encoding information. The key, being the property name, MUST exist in the schema as a property. */
export type MediaTypeEncoding = Record<string, EncodingObject>;
export type MediaTypeObject = {
    schema?: SchemaObject | ReferenceObject;
    /** Example of the media type. */
    example?: any;
    examples?: MediaTypeExamples;
    /** A map between a property name and its encoding information. The key, being the property name, MUST exist in the schema as a property. */
    encoding?: MediaTypeEncoding;
};
export type ParameterContent = Record<string, MediaTypeObject>;
export type ParameterObjectWithContent = {
    /** REQUIRED. The name of the parameter. Parameter names are case sensitive. If in is "path", the name field MUST correspond to a template expression occurring within the path field in the Paths Object. */
    name: string;
    /** REQUIRED. The location of the parameter. Possible values are "query", "header", "path" or "cookie". */
    in: ParameterLocation;
    /** A brief description of the parameter. This could contain examples of use. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    /** Determines whether this parameter is mandatory. If the parameter location is "path", this field is REQUIRED and its value MUST be true. */
    required?: boolean;
    /** Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is false. */
    deprecated?: boolean;
    /** If true, clients MAY pass a zero-length string value in place of parameters that would otherwise be omitted entirely. This field is valid only for query parameters. */
    allowEmptyValue?: boolean;
    /** When this is true, parameter values are serialized using reserved expansion, as defined by RFC6570. This field only applies to parameters with an in value of query. The default value is false. */
    allowReserved?: boolean;
    content?: ParameterContent;
} & XGlobal & XInternal & XScalarIgnore;
export type ParameterObject = ParameterObjectWithSchema | ParameterObjectWithContent;
export type OperationParameters = (ParameterObject | (ReferenceObject & {
    '$ref-value': ParameterObject;
} & ReferenceObjectExtensions))[];
/** REQUIRED. The content of the request body. The key is a media type or media type range and the value describes it. */
export type RequestBodyContent = Record<string, MediaTypeObject>;
/**
 * Selected content type per example for request or response bodies. Keys are example names; values are media types.
 *
 * @example
 * ```yaml
 * x-scalar-selected-content-type:
 * default: application/json
 * xml-example: application/xml
 * ```
 */
export type XScalarSelectedContentType = {
    /** Map of example name to selected content type (for example `application/json`) */
    'x-scalar-selected-content-type'?: Record<string, string>;
};
export type RequestBodyObject = {
    /** A brief description of the request body. This could contain examples of use. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    /** REQUIRED. The content of the request body. The key is a media type or media type range and the value describes it. */
    content: RequestBodyContent;
    /** Determines if the request body is required in the request. Defaults to false. */
    required?: boolean;
} & XScalarSelectedContentType;
export type ResponseHeaders = Record<string, HeaderObject | (ReferenceObject & {
    '$ref-value': HeaderObject;
} & ReferenceObjectExtensions)>;
export type ResponseContent = Record<string, MediaTypeObject>;
/** A map representing parameters to pass to an operation as specified with operationId or identified via operationRef. */
export type LinkParameters = Record<string, any>;
export type LinkObject = {
    /** A URI reference to an OAS operation. This field is mutually exclusive of the operationId field, and MUST point to an Operation Object. */
    operationRef?: string;
    /** The name of an existing, resolvable OAS operation, as defined with a unique operationId. This field is mutually exclusive of the operationRef field. */
    operationId?: string;
    /** A map representing parameters to pass to an operation as specified with operationId or identified via operationRef. */
    parameters?: LinkParameters;
    /** A literal value or {expression} to use as a request body when calling the target operation. */
    requestBody?: any;
    /** A description of the link. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    server?: ServerObject;
};
export type ResponseLinks = Record<string, LinkObject | (ReferenceObject & {
    '$ref-value': LinkObject;
} & ReferenceObjectExtensions)>;
export type ResponseObject = {
    /** REQUIRED. A description of the response. CommonMark syntax MAY be used for rich text representation. */
    description: string;
    headers?: ResponseHeaders;
    content?: ResponseContent;
    links?: ResponseLinks;
};
export type ResponsesObject = Record<string, ResponseObject | (ReferenceObject & {
    '$ref-value': ResponseObject;
} & ReferenceObjectExtensions)>;
/** Lists the required security schemes to execute this operation. An empty object ({}) indicates anonymous access is supported. */
export type SecurityRequirementObject = Record<string, string[]>;
export type OperationSecurity = SecurityRequirementObject[];
export type OperationServers = ServerObject[];
export type CallbackObject = Record<string, PathItemObject | (ReferenceObject & {
    '$ref-value': PathItemObject;
} & ReferenceObjectExtensions)>;
export type OperationCallbacks = Record<string, CallbackObject | (ReferenceObject & {
    '$ref-value': CallbackObject;
} & ReferenceObjectExtensions)>;
/**
 * Configuration for a single badge in the x-badges extension.
 *
 * @example
 * ```yaml
 * name: Beta
 * position: before
 * color: "#ffcc00"
 * ```
 */
export type XBadge = {
    /** The text that displays in the badge. This is required for all badges. */
    name: string;
    /** The position of the badge in relation to the header. Defaults to `after` when omitted. */
    position?: 'before' | 'after';
    /** The color of the badge in various formats (keywords, RGB, RGBA, HSL, HSLA, Hexadecimal) */
    color?: string;
};
/**
 * Badges for an operation in the Scalar UI. Use as visual indicators in documentation.
 *
 * @example
 * ```yaml
 * x-badges:
 * - name: Alpha
 * - name: Beta
 * position: before
 * ```
 */
export type XBadges = {
    /** Badges displayed for this operation in documentation */
    'x-badges'?: XBadge[];
};
/** A single code sample for documentation or examples */
export type XCodeSample = {
    /** Programming language for syntax highlighting */
    lang?: string;
    /** Label shown in the code sample picker */
    label?: string;
    /** Source code for the sample */
    source: string;
};
/**
 * Code samples attached to an operation. Supports `x-codeSamples`, `x-code-samples`, and `x-custom-examples`.
 *
 * @example
 * ```yaml
 * x-code-samples:
 * - lang: curl
 * label: cURL
 * source: curl https://api.example.com
 * ```
 */
export type XCodeSamples = {
    /** Code samples (camelCase spelling) */
    'x-codeSamples'?: XCodeSample[];
    /** Code samples (kebab-case spelling) */
    'x-code-samples'?: XCodeSample[];
    /** Custom code examples for the operation */
    'x-custom-examples'?: XCodeSample[];
};
/**
 * Indicates the stability of an operation in the Scalar UI.
 *
 * @example
 * ```yaml
 * x-scalar-stability: deprecated
 * ```
 */
export type XScalarStability = {
    /** Stability level: `deprecated`, `experimental`, or `stable` */
    'x-scalar-stability'?: 'deprecated' | 'experimental' | 'stable';
};
/** Disabled parameter state by category and example */
export type DisableParametersConfig = {
    /** Disabled state for global cookie parameters across examples */
    'global-cookies'?: Record<string, Record<string, boolean>>;
    /** Disabled state for global header parameters across examples */
    'global-headers'?: Record<string, Record<string, boolean>>;
    /** Disabled state for default header parameters across examples */
    'default-headers'?: Record<string, Record<string, boolean>>;
};
/**
 * Tracks which parameters are disabled across examples in the API client.
 *
 * Structure: category (global-cookies, global-headers, default-headers) → example key → parameter name → true if disabled.
 *
 * @example
 * ```json
 * {
 * "x-scalar-disable-parameters": {
 * "default-headers": {
 * "default": { "Content-Type": true, "Accept": false }
 * }
 * }
 * }
 * ```
 */
export type XScalarDisableParameters = {
    /** Disabled parameter state organized by category, example, and parameter name */
    'x-scalar-disable-parameters'?: DisableParametersConfig;
};
/**
 * Post-response script for an operation. Use to extract response data or assert on the response.
 *
 * @example
 * ```yaml
 * x-post-response: |
 * pm.test("Status code is 200", () => {
 * pm.response.to.have.status(200)
 * })
 * ```
 */
export type XPostResponse = {
    /** Script executed after a response is received */
    'x-post-response'?: string;
};
/**
 * Pre-request script to run before the request is sent. Use to set variables, generate values, or modify headers.
 *
 * @example
 * ```yaml
 * x-pre-request: |
 * var token = pm.environment.get("token")
 * pm.request.headers.set("Authorization", `Bearer ${token}`)
 * ```
 */
export type XPreRequest = {
    /** Script executed before the request is sent */
    'x-pre-request'?: string;
};
/**
 * Draft example identifiers for an operation (in-progress examples not yet committed).
 *
 * @example
 * ```yaml
 * x-draft-examples:
 * - default
 * - error-case
 * ```
 */
export type XDraftExamples = {
    /** Identifiers of draft examples attached to this operation */
    'x-draft-examples'?: string[];
};
/**
 * The currently selected server for this API description. For OpenAPI documents the value is the server URL; for AsyncAPI documents the value is the server name (key in `document.servers`).
 *
 * @example
 * ```yaml
 * x-scalar-selected-server: https://api.example.com
 * ```
 */
export type XScalarSelectedServer = {
    /** The currently selected server. For OpenAPI documents this is the server URL; for AsyncAPI documents this is the server name (key in `document.servers`). */
    'x-scalar-selected-server'?: string;
};
export type OperationObject = {
    /** A list of tags for API documentation control. Tags can be used for logical grouping of operations by resources or any other qualifier. */
    tags?: OperationTags;
    /** A short summary of what the operation does. */
    summary?: string;
    /** A verbose explanation of the operation behavior. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    externalDocs?: ExternalDocumentationObject;
    /** Unique string used to identify the operation. The id MUST be unique among all operations described in the API. The operationId value is case-sensitive. */
    operationId?: string;
    parameters?: OperationParameters;
    requestBody?: RequestBodyObject | (ReferenceObject & {
        '$ref-value': RequestBodyObject;
    } & ReferenceObjectExtensions);
    responses?: ResponsesObject;
    /** Declares this operation to be deprecated. Consumers SHOULD refrain from usage of the declared operation. Default value is false. */
    deprecated?: boolean;
    security?: OperationSecurity;
    servers?: OperationServers;
    callbacks?: OperationCallbacks;
} & XBadges & XInternal & XScalarIgnore & XCodeSamples & XScalarStability & XScalarDisableParameters & XPostResponse & XPreRequest & XDraftExamples & XScalarSelectedServer;
export type PathItemServers = ServerObject[];
export type PathItemParameters = (ParameterObject | (ReferenceObject & {
    '$ref-value': ParameterObject;
} & ReferenceObjectExtensions))[];
export type PathItemObject = {
    /** Allows for a referenced definition of this path item. The value MUST be in the form of a URI, and the referenced structure MUST be in the form of a Path Item Object. */
    $ref?: string;
    /** An optional string summary, intended to apply to all operations in this path. */
    summary?: string;
    /** An optional string description, intended to apply to all operations in this path. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    get?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    put?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    post?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    delete?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    patch?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    connect?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    options?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    head?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    trace?: OperationObject | (ReferenceObject & {
        '$ref-value': OperationObject;
    } & ReferenceObjectExtensions);
    servers?: PathItemServers;
    parameters?: PathItemParameters;
};
/** The available paths and operations for the API. */
export type PathsObject = Record<string, PathItemObject>;
/** The incoming webhooks that MAY be received as part of this API and that the API consumer MAY choose to implement. */
export type WebhooksObject = Record<string, PathItemObject>;
export type ComponentsSchemas = Record<string, SchemaObject | ReferenceObject>;
export type ComponentsResponses = Record<string, ResponseObject | (ReferenceObject & {
    '$ref-value': ResponseObject;
} & ReferenceObjectExtensions)>;
export type ComponentsParameters = Record<string, ParameterObject | (ReferenceObject & {
    '$ref-value': ParameterObject;
} & ReferenceObjectExtensions)>;
export type ComponentsExamples = Record<string, ExampleObject | (ReferenceObject & {
    '$ref-value': ExampleObject;
} & ReferenceObjectExtensions)>;
export type ComponentsRequestBodies = Record<string, RequestBodyObject | (ReferenceObject & {
    '$ref-value': RequestBodyObject;
} & ReferenceObjectExtensions)>;
export type ComponentsHeaders = Record<string, HeaderObject | (ReferenceObject & {
    '$ref-value': HeaderObject;
} & ReferenceObjectExtensions)>;
export type ApiKeySecuritySchemeObject = {
    /** A description for security scheme. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    type: 'apiKey';
    /** REQUIRED. The name of the header, query or cookie parameter to be used. */
    name: string;
    /** REQUIRED. The location of the API key. Valid values are "query", "header", or "cookie". */
    in: 'query' | 'header' | 'cookie';
};
/** REQUIRED. The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. */
export type HttpSecuritySchemeScheme = 'basic' | 'bearer';
export type HttpSecuritySchemeObject = {
    /** A description for security scheme. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    type: 'http';
    /** REQUIRED. The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. */
    scheme: HttpSecuritySchemeScheme;
    /** A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes. */
    bearerFormat?: string;
};
/** REQUIRED. The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. */
export type OAuthFlowScopes = Record<string, string>;
export type OAuthFlowBaseCore = {
    /** The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. */
    refreshUrl: string;
    /** REQUIRED. The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. */
    scopes: OAuthFlowScopes;
};
/**
 * Additional OAuth authorize query parameters.
 *
 * @example
 * ```yaml
 * x-scalar-security-query:
 * prompt: consent
 * audience: scalar
 * ```
 */
export type XScalarSecurityQuery = {
    /** Additional query parameters for the OAuth authorize request */
    'x-scalar-security-query'?: Record<string, string>;
};
/**
 * Additional OAuth token request body parameters.
 *
 * @example
 * ```yaml
 * x-scalar-security-body:
 * audience: https://api.example.com
 * resource: user-profile
 * ```
 */
export type XScalarSecurityBody = {
    /** Additional body parameters for the OAuth token request */
    'x-scalar-security-body'?: Record<string, string>;
};
/**
 * Custom OAuth2 access token field name.
 *
 * @example
 * ```yaml
 * x-tokenName: custom_access_token
 * ```
 */
export type XTokenName = {
    /** Custom field name for the OAuth2 access token in responses */
    'x-tokenName'?: string;
};
/** Persisted OAuth authorization URL override. Do not export when exporting the document. */
export type XScalarAuthUrl = {
    /** Override for the OAuth authorization endpoint URL */
    'x-scalar-secret-auth-url'?: string;
};
/** Persisted OAuth token URL override. Do not export when exporting the document. */
export type XScalarTokenUrl = {
    /** Override for the OAuth token endpoint URL */
    'x-scalar-secret-token-url'?: string;
};
export type ImplicitOAuthFlowObject = OAuthFlowBaseCore & XScalarSecurityQuery & XScalarSecurityBody & XTokenName & XScalarAuthUrl & XScalarTokenUrl & {
    /** REQUIRED. The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. */
    authorizationUrl: string;
};
/**
 * Where OAuth2 credentials are sent for this security scheme.
 *
 * @example
 * ```yaml
 * x-scalar-credentials-location: header
 * ```
 */
export type XScalarCredentialsLocation = {
    /** Where OAuth2 credentials are sent (`header` or `body`) */
    'x-scalar-credentials-location'?: 'header' | 'body';
};
export type PasswordOAuthFlowObject = OAuthFlowBaseCore & XScalarSecurityQuery & XScalarSecurityBody & XTokenName & XScalarAuthUrl & XScalarTokenUrl & {
    /** REQUIRED. The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. */
    tokenUrl: string;
} & XScalarCredentialsLocation;
export type ClientCredentialsOAuthFlowObject = OAuthFlowBaseCore & XScalarSecurityQuery & XScalarSecurityBody & XTokenName & XScalarAuthUrl & XScalarTokenUrl & {
    /** REQUIRED. The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. */
    tokenUrl: string;
} & XScalarCredentialsLocation;
/**
 * Enables Proof Key for Code Exchange (PKCE) for the OAuth2 authorization code flow.
 *
 * @example
 * ```yaml
 * x-usePkce: SHA-256
 * ```
 */
export type XusePkce = {
    /** PKCE mode: `SHA-256`, `plain`, or `no` (disabled) */
    'x-usePkce': 'no' | 'SHA-256' | 'plain';
};
export type AuthorizationCodeOAuthFlowObject = OAuthFlowBaseCore & XScalarSecurityQuery & XScalarSecurityBody & XTokenName & XScalarAuthUrl & XScalarTokenUrl & {
    /** REQUIRED. The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. */
    authorizationUrl: string;
    /** REQUIRED. The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. */
    tokenUrl: string;
} & XusePkce & XScalarCredentialsLocation;
export type OAuthFlowsObject = {
    implicit?: ImplicitOAuthFlowObject;
    password?: PasswordOAuthFlowObject;
    clientCredentials?: ClientCredentialsOAuthFlowObject;
    authorizationCode?: AuthorizationCodeOAuthFlowObject;
};
/**
 * Default selected OAuth scopes.
 *
 * @example
 * ```json
 * { "x-default-scopes": ["profile", "email"] }
 * ```
 */
export type XDefaultScopes = {
    /** Scopes pre-selected in the OAuth consent UI */
    'x-default-scopes'?: string[];
};
export type OAuth2SecuritySchemeObject = {
    /** A description for security scheme. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    type: 'oauth2';
    flows: OAuthFlowsObject;
} & XDefaultScopes;
export type OpenIdConnectSecuritySchemeObject = {
    /** A description for security scheme. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    type: 'openIdConnect';
    /** REQUIRED. Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata. */
    openIdConnectUrl: string;
};
export type SecuritySchemeObject = ApiKeySecuritySchemeObject | HttpSecuritySchemeObject | OAuth2SecuritySchemeObject | OpenIdConnectSecuritySchemeObject;
export type ComponentsSecuritySchemes = Record<string, SecuritySchemeObject | (ReferenceObject & {
    '$ref-value': SecuritySchemeObject;
} & ReferenceObjectExtensions)>;
export type ComponentsLinks = Record<string, LinkObject | (ReferenceObject & {
    '$ref-value': LinkObject;
} & ReferenceObjectExtensions)>;
export type ComponentsCallbacks = Record<string, CallbackObject | (ReferenceObject & {
    '$ref-value': CallbackObject;
} & ReferenceObjectExtensions)>;
export type ComponentsPathItems = Record<string, PathItemObject>;
export type ComponentsObject = {
    schemas?: ComponentsSchemas;
    responses?: ComponentsResponses;
    parameters?: ComponentsParameters;
    examples?: ComponentsExamples;
    requestBodies?: ComponentsRequestBodies;
    headers?: ComponentsHeaders;
    securitySchemes?: ComponentsSecuritySchemes;
    links?: ComponentsLinks;
    callbacks?: ComponentsCallbacks;
    pathItems?: ComponentsPathItems;
};
/** A declaration of which security mechanisms can be used across the API. The list of values includes alternative Security Requirement Objects that can be used. Only one of the Security Requirement Objects need to be satisfied to authorize a request. */
export type OpenApiSecurity = SecurityRequirementObject[];
/**
 * Display-friendly name for a tag.
 *
 * @example
 * ```yaml
 * x-displayName: planets
 * ```
 */
export type XDisplayName = {
    /** Display-friendly name shown in the UI instead of the tag name */
    'x-displayName'?: string;
};
/**
 * Custom display order for elements in the Scalar UI (tags, operations, tag groups).
 *
 * @example
 * ```yaml
 * x-scalar-order:
 * - users
 * - pets
 * - admin
 * ```
 */
export type XScalarOrder = {
    /** Ordered list of element identifiers (tags, operations, etc.) */
    'x-scalar-order'?: string[];
};
export type TagObject = {
    /** REQUIRED. The name of the tag. */
    name: string;
    /** A description for the tag. CommonMark syntax MAY be used for rich text representation. */
    description?: string;
    externalDocs?: ExternalDocumentationObject;
} & XDisplayName & XInternal & XScalarIgnore & XScalarOrder;
export type OpenApiDocumentCore = {
    /** REQUIRED. This string MUST be the version number of the OpenAPI Specification that the OpenAPI Document uses. The openapi field SHOULD be used by tooling to interpret the OpenAPI Document. This is not related to the API info.version string. */
    openapi: string;
    info: InfoObject;
    /** The default value for the $schema keyword within Schema Objects contained within this OAS document. This MUST be in the form of a URI. */
    jsonSchemaDialect?: string;
    /** An array of Server Objects, which provide connectivity information to a target server. If the servers field is not provided, or is an empty array, the default value would be a Server Object with a url value of /. */
    servers?: OpenApiServers;
    /** The available paths and operations for the API. */
    paths?: PathsObject;
    /** The incoming webhooks that MAY be received as part of this API and that the API consumer MAY choose to implement. */
    webhooks?: WebhooksObject;
    components?: ComponentsObject;
    /** A declaration of which security mechanisms can be used across the API. The list of values includes alternative Security Requirement Objects that can be used. Only one of the Security Requirement Objects need to be satisfied to authorize a request. */
    security?: OpenApiSecurity;
    /** A list of tags used by the OpenAPI Description with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. */
    tags?: TagObject[];
    externalDocs?: ExternalDocumentationObject;
};
/**
 * Original OpenAPI Specification version of the source document before ingestion.
 *
 * @example
 * ```yaml
 * x-original-oas-version: "3.1.0"
 * ```
 */
export type XOriginalOasVersion = {
    /** Original OpenAPI Specification version of the source document. */
    'x-original-oas-version'?: string;
};
/** Client-side navigation tree persisted on the document. Matches `TraversedDocumentObjectRef` in strict OpenAPI schemas. */
export type XScalarNavigation = {
    /** Serialized client navigation tree (`TraversedDocument`) for this API description */
    'x-scalar-navigation'?: any;
};
/**
 * Original document source URL when the API description was loaded from an external source.
 *
 * @example
 * ```yaml
 * x-scalar-original-source-url: https://example.com/openapi.yaml
 * ```
 */
export type XScalarOriginalSourceUrl = {
    /** Original document source URL when loaded from an external source */
    'x-scalar-original-source-url'?: string;
};
export type XTagGroupBase = {
    /** The group name. */
    name: string;
    /** List of tags to include in this group. */
    tags: string[];
};
/** A tag group with optional custom ordering */
export type XTagGroup = XTagGroupBase & XScalarOrder;
/**
 * Groups of tags for organizing the sidebar in the Scalar UI.
 *
 * @example
 * ```yaml
 * x-tagGroups:
 * - name: Core API
 * tags: [users, auth]
 * ```
 */
export type XTagGroups = {
    /** Tag groups for organizing tags in the UI */
    'x-tagGroups'?: XTagGroup[];
};
/** An environment variable definition */
export type XScalarEnvVar = {
    /** Variable name */
    name: string;
    /** Variable value as a string, or an object with description and default */
    value: {
        description?: string;
        default: string;
    } | string;
};
/** A named environment with variables and display color */
export type XScalarEnvironment = {
    /** Optional description for the environment */
    description?: string;
    /** Color for the environment (for example a hex value) */
    color: string;
    /** Variables available in this environment */
    variables: XScalarEnvVar[];
};
/**
 * Named environments with variables for the API client (base URLs, tokens, etc.).
 *
 * @example
 * ```yaml
 * x-scalar-environments:
 * production:
 * color: "#00ff00"
 * variables:
 * - name: apiKey
 * value: prod-key
 * ```
 */
export type XScalarEnvironments = {
    /** Environments keyed by name */
    'x-scalar-environments'?: Record<string, XScalarEnvironment>;
};
/**
 * A custom icon representing the API description in the Scalar UI.
 *
 * @example
 * ```yaml
 * x-scalar-icon: rocket
 * ```
 */
export type XScalarIcon = {
    /** Icon identifier or URL for the API description */
    'x-scalar-icon'?: string;
};
/** A persisted cookie definition for the workspace */
export type XScalarCookie = {
    /** Cookie name */
    name: string;
    /** Cookie value */
    value: string;
    /** Domain scope (includes subdomains when set) */
    domain?: string;
    /** Path scope — cookie is sent only for requests matching this path */
    path?: string;
    /** When true, the cookie is not sent with requests */
    isDisabled?: boolean;
};
/**
 * Persisted workspace cookies shared across requests.
 *
 * @example
 * ```yaml
 * x-scalar-cookies:
 * - name: session
 * value: abc123
 * path: /
 * ```
 */
export type XScalarCookies = {
    /** Cookies persisted for the workspace and injected into requests */
    'x-scalar-cookies'?: XScalarCookie[];
};
/**
 * Tracks the original document hash when loading from an external source. Used to detect modifications since last save.
 *
 * @example
 * ```yaml
 * x-scalar-original-document-hash: "abc123"
 * ```
 */
export type XScalarOriginalDocumentHash = {
    /** Hash of the document as originally loaded from an external source */
    'x-scalar-original-document-hash': string;
};
/**
 * Tracks whether the document has been modified since it was last saved.
 *
 * @example
 * ```yaml
 * x-scalar-is-dirty: true
 * ```
 */
export type XScalarIsDirty = {
    /** When true, the document has unsaved changes */
    'x-scalar-is-dirty'?: boolean;
};
/**
 * The currently selected environment for this API description.
 *
 * @example
 * ```yaml
 * x-scalar-active-environment: production
 * ```
 */
export type XScalarActiveEnvironment = {
    /** The currently selected environment name */
    'x-scalar-active-environment'?: string;
};
/**
 * Whether the document is in watch mode (reloads when the source file changes).
 *
 * @example
 * ```yaml
 * x-scalar-watch-mode: true
 * ```
 */
export type XScalarWatchMode = {
    /** When true, the document is watched for external file changes */
    'x-scalar-watch-mode'?: boolean;
};
/** Registry meta namespace and slug */
export type XScalarRegistryMetaInner = {
    /** The namespace under which this registry meta is scoped. */
    namespace: string;
    /** A unique slug identifier for this registry meta within the namespace. */
    slug: string;
    /** The version of the registry meta. */
    version: string;
    /** Last known commit hash of this document. Is going to be used to track if the document has been modified since it was last saved. */
    commitHash?: string;
    /** Registry commit hash that the cached `hasConflict` flag was computed against. When the registry advertises a different hash later, the cached result is stale and the conflict check must be re-run. */
    conflictCheckedAgainstHash?: string;
    /** Cached outcome of the last conflict check, valid only while `conflictCheckedAgainstHash` matches the registry current hash for this version. */
    hasConflict?: boolean;
};
/**
 * Registry sync metadata for a document published to Scalar Registry.
 *
 * @example
 * ```yaml
 * x-scalar-registry-meta:
 * namespace: acme
 * slug: public-api
 * version: "1.0.0"
 * ```
 */
export type XScalarRegistryMeta = {
    /** Registry meta namespace and slug */
    'x-scalar-registry-meta'?: XScalarRegistryMetaInner;
};
/** OpenAPI extensions shared by OpenAPI and AsyncAPI documents. */
export type OpenApiExtensions = XOriginalOasVersion & XScalarNavigation & XScalarOriginalSourceUrl & XTagGroups & XScalarEnvironments & XScalarSelectedServer & XScalarIcon & XScalarOrder & XScalarCookies & XScalarOriginalDocumentHash & XScalarIsDirty & XScalarActiveEnvironment & XScalarWatchMode & XScalarRegistryMeta & XPreRequest & XPostResponse;
/** Root OpenAPI 3.1 document including Scalar workspace extensions (OpenApiExtensionsSchema). */
export type OpenApiDocument = OpenApiDocumentCore & OpenApiExtensions;
//# sourceMappingURL=index.generated.d.ts.map