import type AWSModule from "aws-sdk";
import { S3Level } from "./s3-configure";
export interface GetSignedS3UrlParams {
    path: string;
    bucket: string;
    operation: "put" | "get";
    userSub?: string | null;
    level: S3Level;
}
/**
 * Creates a pre-signed S3 URL request to perform either a 'getObject' or 'putObject'
 *
 * @param signedUrlParams - The parameters required to get a signed S3 URL
 * @param awsS3ConfigOverrides - Configuration option overrides
 */
export declare const preSignedS3Url: (signedUrlParams: GetSignedS3UrlParams, awsS3ConfigOverrides?: AWSModule.S3.ClientConfiguration) => Promise<{
    url: string;
    key: string;
    level: S3Level;
}>;
