import type { CliproxyRoutingStrategy } from '../types';
export declare const DEFAULT_CLIPROXY_ROUTING_STRATEGY: CliproxyRoutingStrategy;
export declare const DEFAULT_CLIPROXY_SESSION_AFFINITY_ENABLED = false;
export declare const DEFAULT_CLIPROXY_SESSION_AFFINITY_TTL = "1h";
export interface CliproxyRoutingState {
    strategy: CliproxyRoutingStrategy;
    source: 'live' | 'config';
    target: 'local' | 'remote';
    reachable: boolean;
    message?: string;
}
export interface CliproxyRoutingApplyResult extends CliproxyRoutingState {
    applied: 'live' | 'live-and-config' | 'config-only';
}
export interface CliproxySessionAffinitySettings {
    enabled: boolean;
    ttl?: string;
}
export interface CliproxySessionAffinityState {
    enabled?: boolean;
    ttl?: string;
    source: 'config' | 'unsupported';
    target: 'local' | 'remote';
    reachable: boolean;
    manageable: boolean;
    message?: string;
}
export interface CliproxySessionAffinityApplyResult extends CliproxySessionAffinityState {
    applied: 'config-only' | 'unsupported';
}
export declare function normalizeCliproxyRoutingStrategy(value: unknown): CliproxyRoutingStrategy | null;
export declare function normalizeCliproxySessionAffinityEnabled(value: unknown): boolean | null;
export declare function normalizeCliproxySessionAffinityTtl(value: unknown): string | null;
export declare function getConfiguredCliproxyRoutingStrategy(): CliproxyRoutingStrategy;
export declare function getConfiguredCliproxySessionAffinitySettings(): Required<CliproxySessionAffinitySettings>;
export declare function fetchLiveCliproxyRoutingStrategy(): Promise<CliproxyRoutingStrategy>;
export declare function readCliproxyRoutingState(): Promise<CliproxyRoutingState>;
export declare function readCliproxySessionAffinityState(): Promise<CliproxySessionAffinityState>;
export declare function applyCliproxyRoutingStrategy(strategy: CliproxyRoutingStrategy): Promise<CliproxyRoutingApplyResult>;
export declare function applyCliproxySessionAffinitySettings(settings: CliproxySessionAffinitySettings): Promise<CliproxySessionAffinityApplyResult>;
//# sourceMappingURL=routing-strategy.d.ts.map