import type { IncomingMessage } from '../node-singletons/http';
import type { ProxySigningConfig } from './ProxyConfig';
export type BaseProxyConfig = {
    host: string;
    port: number;
    maxBodyBytes: number;
};
export type BaseProxyOverrides = Partial<{
    host: string;
    port: number;
    maxBodyBytes: number;
    requireSigning: boolean;
    keyId: string;
    secret: string;
    signingWindowMs: number;
}>;
export declare const resolveBaseConfig: (overrides: BaseProxyOverrides, prefix: string, defaults?: {
    host?: string;
    port?: number;
    maxBodyBytes?: number;
}) => BaseProxyConfig;
export declare const resolveBaseSigningConfig: (overrides: BaseProxyOverrides, prefix: string) => {
    keyId: string;
    secret: string;
    requireSigning: boolean;
    signingWindowMs: number;
};
export declare const verifyRequestSignature: (req: IncomingMessage, body: string, config: {
    signing: ProxySigningConfig;
}, serviceName: string) => Promise<{
    ok: boolean;
    error?: {
        status: number;
        message: string;
    };
}>;
//# sourceMappingURL=ProxyServerUtils.d.ts.map