import type { S3Config as S3CoreConfig } from '@struktoai/mirage-core/resource/s3/config'; import { z } from '@struktoai/mirage-core/resource/secrets'; import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/resource/secrets'; import { type FieldNormalizer } from '@struktoai/mirage-core/utils/normalize'; export interface S3Config extends S3CoreConfig { profile?: string; proxy?: string; } declare const S3ConfigSchema: z.ZodObject<{ bucket: z.ZodString; region: z.ZodOptional; endpoint: z.ZodOptional; accessKeyId: z.ZodOptional; secretAccessKey: z.ZodOptional; sessionToken: z.ZodOptional; forcePathStyle: z.ZodOptional; timeoutMs: z.ZodOptional; presignedUrlProvider: z.ZodOptional>; httpAgentProvider: z.ZodOptional>; defaultContentType: z.ZodOptional; keyPrefix: z.ZodOptional; profile: z.ZodOptional; proxy: z.ZodOptional; }, z.core.$strip>; export type S3ConfigRedacted = RedactedConfig, 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'presignedUrlProvider' | 'httpAgentProvider' | 'proxy'>; export declare function redactConfig(config: S3Config): S3ConfigRedacted; export declare const S3_FAMILY_NORMALIZER: FieldNormalizer; /** * Translate Python-style snake_case keys (as used in YAML configs and the * Python `S3Config`) to the TS-idiomatic camelCase fields, then validate. * Already-camelCase keys pass through unchanged so user code that * constructs `S3Config` directly keeps working. */ export declare function normalizeS3Config(input: Record): S3Config; export {}; //# sourceMappingURL=config.d.ts.map