
import { CopilotServiceAdapter } from "../../service-adapters/service-adapter.cjs";
import "../../service-adapters/index.cjs";
import { LogLevel } from "../logger.cjs";
import { CopilotRuntime } from "../runtime/copilot-runtime.cjs";
import { CopilotCloudOptions } from "../cloud/index.cjs";
import * as pino from "pino";
import * as graphql from "graphql";
import { YogaInitialContext } from "graphql-yoga";

//#region src/lib/integrations/shared.d.ts
/**
 * CORS configuration for CopilotKit endpoints.
 */
interface CopilotEndpointCorsConfig {
  /**
   * Allowed origin(s). Can be a string, array of strings, or a function that returns the origin.
   */
  origin: string | string[] | ((origin: string, c: any) => string | undefined | null);
  /**
   * Whether to include credentials (cookies, authorization headers) in CORS requests.
   * When true, origin cannot be "*" - must be an explicit origin.
   */
  credentials?: boolean;
}
declare const logger: pino.Logger<never, boolean>;
type AnyPrimitive = string | boolean | number | null;
type CopilotRequestContextProperties = Record<string, AnyPrimitive | Record<string, AnyPrimitive>>;
type GraphQLContext = YogaInitialContext & {
  _copilotkit: CreateCopilotRuntimeServerOptions;
  properties: CopilotRequestContextProperties;
  logger: typeof logger;
};
interface CreateCopilotRuntimeServerOptions {
  runtime: CopilotRuntime<any>;
  serviceAdapter?: CopilotServiceAdapter;
  endpoint: string;
  baseUrl?: string;
  cloud?: CopilotCloudOptions;
  properties?: CopilotRequestContextProperties;
  logLevel?: LogLevel;
  /**
   * Optional CORS configuration. When not provided, defaults to allowing all origins without credentials.
   * To support HTTP-only cookies, provide cors config with credentials: true and explicit origin.
   */
  cors?: CopilotEndpointCorsConfig;
}
declare function buildSchema(options?: {
  emitSchemaFile?: string;
}): graphql.GraphQLSchema;
type CommonConfig = {
  logging: typeof logger;
};
declare function getCommonConfig(options: CreateCopilotRuntimeServerOptions): CommonConfig;
//#endregion
export { CommonConfig, CopilotEndpointCorsConfig, CopilotRequestContextProperties, CreateCopilotRuntimeServerOptions, GraphQLContext, buildSchema, getCommonConfig };
//# sourceMappingURL=shared.d.cts.map