import Transport from "winston-transport"; import { S3ClientConfig } from "@aws-sdk/client-s3"; export interface LogGroup { data: any[]; bucket: string; bucketPath: string; createdTime: Date; isUpdated: boolean; uploadTime?: Date; } export interface Config { bucket: string; bucketPath: ((groupId: string) => string) | string; group?: ((logInfo: T) => string) | string; dataUploadInterval?: number; maxDataSize?: number; fileRotationInterval?: number; gzip?: boolean; } export interface Options extends Transport.TransportStreamOptions { /** * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/interfaces/s3clientconfig.html */ s3ClientConfig: S3ClientConfig; s3TransportConfig: Config; }