import { type GitSource, type WebpackOverrideFn } from '@remotion/bundler';
import type { AwsRegion, RequestHandler } from '@remotion/lambda-client';
import { type AwsProvider } from '@remotion/lambda-client';
import type { ToOptions } from '@remotion/renderer';
import type { BrowserSafeApis } from '@remotion/renderer/client';
import type { FullClientSpecifics, ProviderSpecifics, UploadDirProgress } from '@remotion/serverless';
type MandatoryParameters = {
    entryPoint: string;
    bucketName: string;
    region: AwsRegion;
};
type OptionalParameters = {
    siteName: string;
    options: {
        onBundleProgress?: (progress: number) => void;
        onUploadProgress?: (upload: UploadDirProgress) => void;
        onDiffingProgress?: (bytes: number, done: boolean) => void;
        webpackOverride?: WebpackOverrideFn;
        ignoreRegisterRootWarning?: boolean;
        enableCaching?: boolean;
        publicDir?: string | null;
        rootDir?: string;
        bypassBucketNameValidation?: boolean;
        keyboardShortcutsEnabled?: boolean;
        askAIEnabled?: boolean;
        experimentalClientSideRenderingEnabled?: boolean;
        rspack?: boolean;
    };
    privacy: 'public' | 'no-acl';
    gitSource: GitSource | null;
    indent: boolean;
    forcePathStyle: boolean;
    requestHandler: RequestHandler | null;
} & ToOptions<typeof BrowserSafeApis.optionsMap.deploySiteLambda>;
export type DeploySiteInput = MandatoryParameters & Partial<OptionalParameters>;
export type DeploySiteOutput = Promise<{
    serveUrl: string;
    siteName: string;
    stats: {
        uploadedFiles: number;
        deletedFiles: number;
        untouchedFiles: number;
    };
}>;
export type InternalDeploySiteInput = MandatoryParameters & OptionalParameters & {
    providerSpecifics: ProviderSpecifics<AwsProvider>;
    fullClientSpecifics: FullClientSpecifics<AwsProvider>;
};
export declare const internalDeploySite: (input: InternalDeploySiteInput) => DeploySiteOutput;
export declare const deploySite: (args: DeploySiteInput) => DeploySiteOutput;
export {};
