import type { IAcmeOptions, ISmartProxyOptions } from '../models/interfaces.js';
import type { IRouteAction, IRouteConfig, IRouteMatch, IRouteTarget, ITargetMatch } from '../models/route-types.js';
import type { IRustProxyOptions, IRustChallengeOptions, IRustRouteAction, IRustRouteConfig, IRustRouteMatch, IRustRouteTarget, IRustTargetMatch, TRustHeaderMatchers } from '../models/rust-types.js';
export declare function serializeHeaderMatchValue(value: string | RegExp): string;
export declare function serializeHeaderMatchers(headers?: Record<string, string | RegExp>): TRustHeaderMatchers | undefined;
export declare function serializeTargetMatchForRust(match?: ITargetMatch): IRustTargetMatch | undefined;
export declare function serializeRouteMatchForRust(match: IRouteMatch): IRustRouteMatch;
export declare function serializeRouteTargetForRust(target: IRouteTarget): IRustRouteTarget;
export declare function serializeRouteActionForRust(action: IRouteAction): IRustRouteAction;
export declare function serializeRouteForRust(route: IRouteConfig): IRustRouteConfig;
export declare function buildChallengeOptionsForRust(settings: ISmartProxyOptions): IRustChallengeOptions | undefined;
export declare function buildRustProxyOptions(settings: ISmartProxyOptions, routes: IRustRouteConfig[], acmeOverride?: IAcmeOptions, challengeOverride?: IRustChallengeOptions): IRustProxyOptions;
