/**
 * Runtime Services
 * Adapter layer for env/crypto/timers/fs/fetch across Node and Workers
 * Sealed namespace for immutability
 */
export type RuntimePlatform = 'nodejs' | 'lambda' | 'fargate' | 'cloudflare' | 'deno';
export type RuntimeEnvReader = {
    get: (key: string, defaultValue?: string) => string;
    getInt: (key: string, defaultValue?: number) => number;
    getFloat: (key: string, defaultValue?: number) => number;
    getBool: (key: string, defaultValue?: boolean) => boolean;
};
export type RandomValuesArray = Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | Int8Array | Int16Array | Int32Array | BigInt64Array | BigUint64Array;
export type RuntimeCrypto = {
    subtle: SubtleCrypto;
    getRandomValues: <T extends RandomValuesArray>(array: T) => T;
    randomUUID: () => string;
    randomBytes?: (size: number) => Uint8Array;
};
export type RuntimeTimers = {
    setTimeout: typeof setTimeout;
    clearTimeout: typeof clearTimeout;
    setInterval: typeof setInterval;
    clearInterval: typeof clearInterval;
};
export type RuntimeFs = {
    supported: boolean;
    readFileSync: (path: string, encoding?: BufferEncoding) => string | Buffer;
    readdirSync: (path: string) => string[];
    existsSync: (path: string) => boolean;
};
export type RuntimeServices = {
    platform: RuntimePlatform;
    env: RuntimeEnvReader;
    crypto: RuntimeCrypto;
    timers: RuntimeTimers;
    fs: RuntimeFs;
    fetch: typeof fetch;
};
export declare const detectCloudflareWorkers: () => boolean;
export declare const detectRuntimePlatform: () => RuntimePlatform;
export declare const RUNTIME_PLATFORM: RuntimePlatform;
export declare const RuntimeServices: Readonly<{
    create(platform: RuntimePlatform): RuntimeServices;
}>;
export default RuntimeServices;
//# sourceMappingURL=RuntimeServices.d.ts.map