import { SQSClient } from '@aws-sdk/client-sqs';
import { BackgroundEntry } from '../background-entry.js';
import { BackgroundAwsConfig } from '../../config/background/background-aws-config.js';
import { InternalBackgroundEntry } from '../internal-background-entry.js';
import { SNSClient } from '@aws-sdk/client-sns';
import { AwsSqsSnsBackgroundManager } from './aws-sqs-sns-background-manager.js';
import { S3CacheRatchetLike } from '@bitblit/ratchet-aws/s3/s3-cache-ratchet-like';
export declare class AwsLargePayloadS3SqsSnsBackgroundManager extends AwsSqsSnsBackgroundManager {
    private _s3;
    private pathPrefix;
    private static readonly LARGE_MESSAGE_SIZE_THRESHOLD;
    private static readonly LARGE_MESSAGE_S3_PATH_META_KEY;
    constructor(_awsConfig: BackgroundAwsConfig, _sqs: SQSClient, _sns: SNSClient, _s3: S3CacheRatchetLike, pathPrefix?: string);
    readonly backgroundManagerName: string;
    get s3(): S3CacheRatchetLike;
    wrapEntryForInternal<T>(entry: BackgroundEntry<T>, overrideTraceId?: string, overrideTraceDepth?: number): Promise<InternalBackgroundEntry<T>>;
    private writeMessageToS3;
    modifyPayloadPreProcess<T>(entry: InternalBackgroundEntry<T>): Promise<InternalBackgroundEntry<T>>;
}
