import type { ObjectValidations } from '@altostra/type-validations';
import type { CloudFormationValue } from "./IntrinsicFunctions";
export declare type DefaultDeletionPolicies = 'Delete' | 'Retain';
export declare type RdsDeletionPolicies = DefaultDeletionPolicies | 'Snapshot';
export declare type ResourceDeletionPolicies = DefaultDeletionPolicies | RdsDeletionPolicies;
export interface AwsResourceCommon {
    Type: string;
    DeletionPolicy?: ResourceDeletionPolicies;
    DependsOn?: string[] | string;
    Properties?: object;
}
export interface S3Location {
    Bucket: string;
    Key: string;
    Version?: number;
}
export interface KeyValuePair {
    Key: string;
    Value: CloudFormationValue;
}
export declare type KeyValuePairsList = CloudFormationTag[];
export declare type CloudFormationTag = KeyValuePair;
export declare type CloudFormationTags = KeyValuePairsList;
export interface NameValuePair {
    Name: string;
    Value: CloudFormationValue;
}
export declare const commonAwsResourceValidations: ObjectValidations<AwsResourceCommon>;
export declare const isAnyAwsResource: import("@altostra/type-validations").ObjectOfTypeValidation<AwsResourceCommon>;
