import type { ConfigManager } from '../../config/manager.js';
export type OutboundTrustMode = 'bundled' | 'bundled+custom' | 'custom';
type FetchTlsOptions = Bun.TLSOptions & {
    checkServerIdentity?: NonNullable<import('node:tls').ConnectionOptions['checkServerIdentity']>;
};
type FetchInitWithTls = RequestInit & {
    tls?: FetchTlsOptions;
};
export interface OutboundTlsSnapshot {
    readonly mode: OutboundTrustMode;
    readonly allowInsecureLocalhost: boolean;
    readonly customCaFile?: string;
    readonly customCaDir?: string;
    readonly customCaEntryCount: number;
    readonly effectiveCaStrategy: 'bun-default' | 'bundled+custom' | 'custom';
    readonly errors: readonly string[];
}
export declare function inspectOutboundTls(configManager: ConfigManager): OutboundTlsSnapshot;
export declare function applyOutboundTlsToFetchInit(input: RequestInfo | URL, init: RequestInit | undefined, configManager: ConfigManager): FetchInitWithTls;
export declare function createNetworkFetch(fetchImpl: typeof globalThis.fetch, configManager: ConfigManager): typeof globalThis.fetch;
export declare class GlobalNetworkTransportInstaller {
    private originalFetchRef;
    private configManager;
    setConfigManager(configManager: ConfigManager): void;
    install(configManager: ConfigManager): void;
}
export {};
//# sourceMappingURL=outbound.d.ts.map