import { FieldSchema, OpenAPIModelSchema, Path, generator } from "./generator.mjs";
import { LiteralString } from "@better-auth/core";
import * as better_call165 from "better-call";

//#region src/plugins/open-api/index.d.ts
type ScalarTheme = "alternate" | "default" | "moon" | "purple" | "solarized" | "bluePlanet" | "saturn" | "kepler" | "mars" | "deepSpace" | "laserwave" | "none";
interface OpenAPIOptions {
  /**
   * The path to the OpenAPI reference page
   *
   * keep in mind that this path will be appended to the base URL `/api/auth` path
   * by default, so if you set this to `/reference`, the full path will be `/api/auth/reference`
   *
   * @default "/reference"
   */
  path?: LiteralString | undefined;
  /**
   * Disable the default reference page that is generated by Scalar
   *
   * @default false
   */
  disableDefaultReference?: boolean | undefined;
  /**
   * Theme of the OpenAPI reference page.
   *
   * @default "default"
   */
  theme?: ScalarTheme | undefined;
  /**
   * A 'nonce' string to be attached to inline scripts
   * for Content Security Policy (CSP) compliance.
   * @default undefined
   */
  nonce?: string | undefined;
}
declare const openAPI: <O extends OpenAPIOptions>(options?: O | undefined) => {
  id: "open-api";
  endpoints: {
    generateOpenAPISchema: better_call165.StrictEndpoint<"/open-api/generate-schema", {
      method: "GET";
    }, {
      openapi: string;
      info: {
        title: string;
        description: string;
        version: string;
      };
      components: {
        securitySchemes: {
          apiKeyCookie: {
            type: string;
            in: string;
            name: string;
            description: string;
          };
          bearerAuth: {
            type: string;
            scheme: string;
            description: string;
          };
        };
        schemas: {
          [x: string]: OpenAPIModelSchema;
        };
      };
      security: {
        apiKeyCookie: never[];
        bearerAuth: never[];
      }[];
      servers: {
        url: string;
      }[];
      tags: {
        name: string;
        description: string;
      }[];
      paths: Record<string, Path>;
    }>;
    openAPIReference: better_call165.StrictEndpoint<"/reference", {
      method: "GET";
      metadata: {
        readonly scope: "server";
      };
    }, Response>;
  };
  options: NoInfer<O>;
};
//#endregion
export { type FieldSchema, type OpenAPIModelSchema, OpenAPIOptions, type Path, generator, openAPI };
//# sourceMappingURL=index.d.mts.map