import type { HttpTransportConfig } from "./schemas";
import { httpTransportConfigSchema, stdioTransportConfigSchema, templateConfigSchema, typescriptConfigSchema, corsConfigSchema, oauthConfigSchema, experimentalConfigSchema } from "./schemas";
import type { z } from "zod/v3";
import type { XmcpConfigOutputSchema } from "./index";
import type { CorsConfig } from "./schemas";
export type ResolvedHttpConfig = (Extract<z.output<typeof httpTransportConfigSchema>, object> & {
    cors: CorsConfig;
}) | null;
export declare function getResolvedHttpConfig(userConfig: HttpTransportConfig | undefined): ResolvedHttpConfig;
export declare function getResolvedCorsConfig(httpConfig: ResolvedHttpConfig): z.output<typeof corsConfigSchema>;
export type ResolvedPathsConfig = {
    tools: string | null;
    prompts: string | null;
    resources: string | null;
};
export declare function getResolvedPathsConfig(userConfig: XmcpConfigOutputSchema): ResolvedPathsConfig;
export declare function getResolvedOAuthConfig(userConfig: XmcpConfigOutputSchema): z.output<typeof oauthConfigSchema> | null;
export type ResolvedStdioConfig = Extract<z.output<typeof stdioTransportConfigSchema>, object> | null;
export declare function getResolvedStdioConfig(userConfig: XmcpConfigOutputSchema): ResolvedStdioConfig;
export declare function getResolvedTemplateConfig(userConfig: XmcpConfigOutputSchema): z.output<typeof templateConfigSchema>;
export type ResolvedExperimentalConfig = Pick<z.output<typeof experimentalConfigSchema>, "adapter">;
export declare function getResolvedExperimentalConfig(userConfig: XmcpConfigOutputSchema): ResolvedExperimentalConfig;
export declare function getResolvedTypescriptConfig(userConfig: XmcpConfigOutputSchema): z.output<typeof typescriptConfigSchema>;
