import type { AwsSamTemplate } from "../../../aws/SamTemplate/AwsSamTemplate";
import type { DeploymentSettings } from "../../DeploymentSettings";
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString";
import type { Dict } from "../../../common/Types";
import type { AWSRegion } from 'aws-sdk/clients/cur';
import type { MultiOutput } from "../RemoteCompiler/Types";
export declare const ALTO_ENCODING_KEY = "alto_encoding";
export interface DeploymentMetadata {
    projectId: NonEmptyString;
    projectName: NonEmptyString;
    tag: NonEmptyString;
    deploymentName: NonEmptyString;
    deploymentId: NonEmptyString;
    deploymentVersion: number;
}
export declare const isDeploymentMetadata: import("@altostra/type-validations").ObjectOfTypeValidation<DeploymentMetadata>;
export interface DeployRequestBase {
    integrationAccountId?: NonEmptyString;
    region: AWSRegion;
    force: boolean;
    deploymentMetadata: DeploymentMetadata;
    deploymentSettings: DeploymentSettings;
    deploymentParams?: Dict<string>;
    regionalParams?: string[];
    isSourcesRequired?: boolean;
}
export interface DeployRequest extends DeployRequestBase {
    templates: MultiOutput<AwsSamTemplate>;
}
export declare type NonAltostraDeployRequest = DeployRequestBase;
export declare const isNonAltostraDeployRequest: import("@altostra/type-validations").ObjectOfTypeValidation<DeployRequestBase>;
export declare const isDeployRequest: import("@altostra/type-validations").ObjectOfTypeValidation<DeployRequest>;
export declare type AltostraUtilityDeploymentRequest = Omit<DeployRequest, 'deploymentSettings' | 'force'>;
