export declare enum DataType { String = "String", Number = "Number", ListOfNumbers = "List", CommaDelimitedList = "CommaDelimitedList" } export declare class IntrinsicFunction { private name; private payload; constructor(name: string, payload: any); toJSON(): { [x: string]: any; }; } export declare class ConditionIntrinsicFunction extends IntrinsicFunction { constructor(name: string, payload: any); } export declare type Value = T | IntrinsicFunction; export declare type List = T[] | IntrinsicFunction; export declare type Condition = ConditionIntrinsicFunction | { Condition: Value; }; export interface CreationPolicy { AutoScalingCreationPolicy?: { MinSuccessfulInstancesPercent?: Value; }; ResourceSignal?: { Count?: Value; Timeout?: Value; }; } export declare enum DeletionPolicy { Delete = "Delete", Retain = "Retain", Snapshot = "Snapshot" } export interface UpdatePolicy { AutoScalingReplacingUpdate?: { WillReplace?: Value; }; AutoScalingRollingUpdate?: { MaxBatchSize?: Value; MinInstancesInService?: Value; MinSuccessfulInstancesPercent?: Value; PauseTime?: Value; SuspendProcesses?: List; WaitOnResourceSignals?: Value; }; AutoScalingScheduledAction?: { IgnoreUnmodifiedGroupSizeProperties?: Value; }; } export interface Resource { Type: string; DependsOn?: Value | List; Properties?: { [key: string]: any; }; Metadata?: { [key: string]: any; }; CreationPolicy?: CreationPolicy; DeletionPolicy?: DeletionPolicy; UpdatePolicy?: UpdatePolicy; Condition?: Value; }