import { z } from "zod"; export declare const ProviderConfigSchema: z.ZodObject<{ url: z.ZodString; limits: z.ZodOptional; }, z.core.$strip>>; priority: z.ZodDefault; weight: z.ZodDefault; profile: z.ZodOptional; multiProfile: z.ZodDefault; headers: z.ZodOptional>; }, z.core.$strip>; export declare const WebhookSchema: z.ZodObject<{ url: z.ZodString; events: z.ZodOptional>; }, z.core.$strip>; export declare const ProfilesConfigSchema: z.ZodObject<{ enabled: z.ZodDefault; store: z.ZodDefault>; filesystem: z.ZodDefault; }, z.core.$strip>>; encryption: z.ZodDefault; }, z.core.$strip>>; lockTtlMs: z.ZodDefault; cdpTimeoutMs: z.ZodDefault; commitTimeoutMs: z.ZodDefault; }, z.core.$strip>; export type ProfilesConfig = z.infer; export declare const ReplayConfigSchema: z.ZodObject<{ store: z.ZodDefault>; filesystem: z.ZodDefault; }, z.core.$strip>>; retentionDays: z.ZodDefault; maxBytesPerSession: z.ZodDefault; capture: z.ZodDefault>; quality: z.ZodDefault; everyNthFrame: z.ZodDefault; }, z.core.$strip>>; }, z.core.$loose>; export type ReplayConfig = z.infer; export declare const RestConfigSchema: z.ZodObject<{ allowedPrivateHosts: z.ZodDefault>; }, z.core.$strip>; export type RestConfig = z.infer; export declare const GatewayConfigSchema: z.ZodObject<{ version: z.ZodDefault; gateway: z.ZodDefault; defaultStrategy: z.ZodDefault>; healthCheckInterval: z.ZodDefault; connectionTimeout: z.ZodDefault; shutdownDrainMs: z.ZodDefault; cooldown: z.ZodDefault; failureThreshold: z.ZodDefault; minRequestVolume: z.ZodDefault; }, z.core.$strip>>; sessions: z.ZodDefault; reconnectTimeoutMs: z.ZodDefault; }, z.core.$strip>>; queue: z.ZodDefault; timeoutMs: z.ZodDefault; }, z.core.$strip>>; }, z.core.$strip>>; providers: z.ZodRecord; }, z.core.$strip>>; priority: z.ZodDefault; weight: z.ZodDefault; profile: z.ZodOptional; multiProfile: z.ZodDefault; headers: z.ZodOptional>; }, z.core.$strip>>; pool: z.ZodDefault; maxSessions: z.ZodDefault; maxPagesPerSession: z.ZodDefault; retireAfterPages: z.ZodDefault; retireAfterMs: z.ZodDefault; idleTimeoutMs: z.ZodDefault; pageTimeoutMs: z.ZodDefault; }, z.core.$strip>>; webhooks: z.ZodDefault>; }, z.core.$strip>>>; dashboard: z.ZodDefault; }, z.core.$strip>>; logging: z.ZodDefault>; }, z.core.$strip>>; profiles: z.ZodDefault; store: z.ZodDefault>; filesystem: z.ZodDefault; }, z.core.$strip>>; encryption: z.ZodDefault; }, z.core.$strip>>; lockTtlMs: z.ZodDefault; cdpTimeoutMs: z.ZodDefault; commitTimeoutMs: z.ZodDefault; }, z.core.$strip>>; replay: z.ZodDefault>; filesystem: z.ZodDefault; }, z.core.$strip>>; retentionDays: z.ZodDefault; maxBytesPerSession: z.ZodDefault; capture: z.ZodDefault>; quality: z.ZodDefault; everyNthFrame: z.ZodDefault; }, z.core.$strip>>; }, z.core.$loose>>; rest: z.ZodDefault>; }, z.core.$strip>>; }, z.core.$strip>; export type ProviderConfig = z.infer; export type GatewayConfig = z.infer; export interface ProviderState { id: string; config: ProviderConfig; active: number; healthy: boolean; cooldownUntil: number | null; failureCount: number; successCount: number; lastFailure: number | null; avgLatencyMs: number; totalConnections: number; /** Vendor detected by the capability probe; `null` until a probe identifies one. */ detectedKind: "browserserve" | null; /** Concurrency ceiling the provider advertised; adopted when `limits.maxConcurrent` is unset. */ discoveredMaxConcurrent: number | null; } export interface Session { id: string; providerId: string; profileId?: string; connectedAt: number; lastActivity: number; messageCount: number; } //# sourceMappingURL=types.d.ts.map