import { IBucket } from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';
import { NextjsBaseProps } from './NextjsBase';
export declare const replaceTokenGlobs: string[];
export interface RewriteReplacementsConfig {
    readonly env?: Record<string, string>;
    readonly jsonS3Bucket?: IBucket;
    readonly jsonS3Key?: string;
}
export interface RewriterParams {
    readonly s3Bucket: IBucket;
    readonly s3keys: string[];
    readonly replacementConfig: RewriteReplacementsConfig;
    readonly debug?: boolean;
    readonly cloudfrontDistributionId?: string;
}
export interface NextjsS3EnvRewriterProps extends NextjsBaseProps, RewriterParams {
}
/**
 * Rewrites variables in S3 objects after a deployment happens to
 * replace CloudFormation tokens with their values.
 * These values are not resolved at build time because they are
 * only known at deploy time.
 */
export declare class NextjsS3EnvRewriter extends Construct {
    rewriteNode?: Construct;
    constructor(scope: Construct, id: string, props: NextjsS3EnvRewriterProps);
}
export declare function getS3ReplaceValues(environment: Record<string, string>, publicOnly: boolean): Record<string, string>;
