import { z } from 'zod'; export declare const InstanceOAuthConfigSchema: z.ZodObject<{ clientId: z.ZodString; clientSecret: z.ZodOptional; scopes: z.ZodDefault; }, z.core.$strip>; export declare const InstanceRateLimitConfigSchema: z.ZodObject<{ maxConcurrent: z.ZodDefault; queueSize: z.ZodDefault; queueTimeout: z.ZodDefault; }, z.core.$strip>; export declare const GitLabInstanceConfigSchema: z.ZodObject<{ url: z.ZodPipe>; label: z.ZodOptional; oauth: z.ZodOptional; scopes: z.ZodDefault; }, z.core.$strip>>; rateLimit: z.ZodOptional; queueSize: z.ZodDefault; queueTimeout: z.ZodDefault; }, z.core.$strip>>; insecureSkipVerify: z.ZodDefault; }, z.core.$strip>; export declare const InstanceDefaultsSchema: z.ZodObject<{ rateLimit: z.ZodOptional; queueSize: z.ZodDefault; queueTimeout: z.ZodDefault; }, z.core.$strip>>; oauth: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; export declare const InstancesConfigFileSchema: z.ZodObject<{ instances: z.ZodArray>; label: z.ZodOptional; oauth: z.ZodOptional; scopes: z.ZodDefault; }, z.core.$strip>>; rateLimit: z.ZodOptional; queueSize: z.ZodDefault; queueTimeout: z.ZodDefault; }, z.core.$strip>>; insecureSkipVerify: z.ZodDefault; }, z.core.$strip>>; defaults: z.ZodOptional; queueSize: z.ZodDefault; queueTimeout: z.ZodDefault; }, z.core.$strip>>; oauth: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; export declare const ConnectionStatusSchema: z.ZodEnum<{ healthy: "healthy"; degraded: "degraded"; offline: "offline"; }>; export type InstanceOAuthConfig = z.infer; export type InstanceRateLimitConfig = z.infer; export type GitLabInstanceConfig = z.infer; export type InstanceDefaults = z.infer; export type InstancesConfigFile = z.infer; export type ConnectionStatus = z.infer; export interface GitLabInstanceState extends GitLabInstanceConfig { connectionStatus: ConnectionStatus; lastHealthCheck: Date | null; introspectionCache: CachedIntrospection | null; } export interface CachedIntrospection { version: string; tier: string; features: Record; schemaInfo: unknown; cachedAt: Date; } export declare function parseInstanceUrlString(urlString: string): GitLabInstanceConfig; export declare function validateInstancesConfig(config: unknown): InstancesConfigFile; export declare function applyInstanceDefaults(instance: GitLabInstanceConfig, defaults?: InstanceDefaults): GitLabInstanceConfig;