#!/usr/bin/env node
/**
 * Checks the connection to the AWS account using AWS STS (Security Token Service).
 * Returns true if the connection is successful, otherwise displays an error and exits.
 */
export default function checkAWSConnection(): Promise<boolean>;
/**
 * Checks if a specified bucket exists in Amazon S3.
 *
 * @param {string} bucketName - The name of the bucket to check.
 * @returns {Promise<boolean>} - Returns `true` if the bucket exists, `false` otherwise.
 */
export declare function checkBucketExists(bucketName: string): Promise<boolean>;
/**
 * Checks if an ACM (AWS Certificate Manager) certificate exists for the specified domain name.
 *
 * @param {string} domainName - The primary domain name for which to check certificate existence.
 * @returns {Promise<string | null>} - The ARN of the existing certificate, or null if not found.
 */
export declare const checkCertificateExists: (domainName: string) => Promise<{
    certificateArn: string | undefined;
    status: string | undefined;
}>;
/**
 * Waits for an ACM (AWS Certificate Manager) certificate to be issued before proceeding.
 *
 * @param {string} certificateArn - The ARN (Amazon Resource Name) of the certificate to wait for.
 * @param {string | undefined} hostedZoneId - The optional hosted zone ID associated with the certificate.
 */
export declare function waitCertificateToBeIssued(certificateArn: string, hostedZoneId: string | undefined): Promise<void>;
/**
 * Creates or updates an Alias resource record set in Amazon Route 53 to associate a custom domain with a CloudFront distribution.
 *
 * @param {string} domainName - The custom domain name (CNAME) to be associated with the CloudFront distribution.
 * @param {string} cloudFrontDomainName - The DNS name of the CloudFront distribution.
 * @param {string} hostedZoneId - The ID of the Route 53 hosted zone where the Alias resource record will be created/updated.
 */
export declare function createCFARecord(domainName: string, cloudFrontDomainName: string, hostedZoneId: string): Promise<void>;
export declare function deleteCFCNAME(domainName: string, cloudFrontDomainName: string, hostedZoneId: string): Promise<void>;
export declare function checkCFARecordExists(domainName: string, cloudFrontDomainName: string, hostedZoneId: string): Promise<boolean>;
/**
 * Creates an ACM (AWS Certificate Manager) certificate request for the specified domain name.
 *
 * @param {string} domainName - The primary domain name for which the certificate is requested.
 * @returns {Promise<string>} - The ARN (Amazon Resource Name) of the created ACM certificate.
 */
export declare const createACMCertificate: (domainName: string) => Promise<string>;
/**
 * Deletes an AWS ACM (Amazon Certificate Manager) certificate using its ARN (Amazon Resource Name).
 *
 * @param {string} certificateArn - The ARN of the ACM certificate to be deleted.
 * @returns {Promise<void>} A Promise that resolves when the certificate is successfully deleted, or rejects on error.
 *
 * @throws {Error} If an error occurs during the deletion process.
 */
export declare const deleteACMCertificate: (certificateArn: string) => Promise<void>;
/**
 * Validates an ACM (AWS Certificate Manager) certificate by ensuring the presence of a CNAME record.
 * If the hostedZoneId is provided, it adds the CNAME record to the hosted zone for domain validation.
 *
 * @param {string} certificateArn - The ARN of the certificate to be validated.
 * @param {string | undefined} hostedZoneId - The ID of the hosted zone where the CNAME record should be added.
 */
export declare function validateCertificate(certificateArn: string, hostedZoneId: string | undefined): Promise<void>;
/**
 * Checks if there are any pending connections by querying the status of a CodeStar connection.
 *
 * @returns {Promise<boolean>} - True if there are pending connections, false otherwise.
 */
export declare function pendingConnections(): Promise<boolean>;
/**
 * Retrieves the value of an AWS Systems Manager (SSM) parameter by name.
 *
 * @param {string} parameterName - The name of the SSM parameter to retrieve.
 * @returns {Promise<string>} A Promise that resolves to the value of the SSM parameter.
 * @throws {Error} If there is an error while retrieving the parameter.
 */
export declare function getSSMParameter(parameterName: string): Promise<string | undefined>;
export declare function startPipelineExecution(): Promise<void>;
export declare function getPipelineStatus(): Promise<{
    status: string;
    stageName: string;
}>;
