import type { AwsCfnTemplate, CloudFormationResourceByType, CloudFormationResourceType } from "../../../aws/CloudFormation";
import type { ServerlessResourceByTypes, ServerlessResourceTypes } from "../../../aws/ServerlessAppModel";
import type { Blueprint } from "../../../blueprint";
export declare type KnownResourceType = CloudFormationResourceType | ServerlessResourceTypes;
export declare type KnownResourceByType = CloudFormationResourceByType & ServerlessResourceByTypes;
export declare type KnownResource = KnownResourceByType[KnownResourceType];
export declare type ConvertibleTemplate = AwsCfnTemplate<KnownResource>;
export declare const isConvertibleTemplate: import("@altostra/type-validations").ObjectOfTypeValidation<AwsCfnTemplate<import("@altostra/aws/CloudFormation").AwsResourceCommon>>;
export interface ConversionRequest {
    template: ConvertibleTemplate;
}
export declare const isConversionRequest: import("@altostra/type-validations").ObjectOfTypeValidation<ConversionRequest>;
export interface ConversionWarning {
    message: string;
    data?: Record<string, unknown>;
}
export declare const isConversionWarning: import("@altostra/type-validations").ObjectOfTypeValidation<ConversionWarning>;
export interface ConversionResponse {
    warnings: ConversionWarning[];
    blueprint: Blueprint;
}
export declare const isConversionResponse: import("@altostra/type-validations").ObjectOfTypeValidation<ConversionResponse>;
