import { ResourceBase, ResourceTag } from '../resource'; import { Value, List } from '../dataTypes'; export declare class Cookies { WhitelistedNames?: List>; Forward: Value; constructor(properties: Cookies); } export declare class LambdaFunctionAssociation { EventType?: Value; LambdaFunctionARN?: Value; constructor(properties: LambdaFunctionAssociation); } export declare class CacheBehavior { Compress?: Value; LambdaFunctionAssociations?: List; TargetOriginId: Value; ViewerProtocolPolicy: Value; TrustedSigners?: List>; DefaultTTL?: Value; FieldLevelEncryptionId?: Value; AllowedMethods?: List>; PathPattern: Value; CachedMethods?: List>; SmoothStreaming?: Value; ForwardedValues: ForwardedValues; MinTTL?: Value; MaxTTL?: Value; constructor(properties: CacheBehavior); } export declare class DefaultCacheBehavior { Compress?: Value; LambdaFunctionAssociations?: List; TargetOriginId: Value; ViewerProtocolPolicy: Value; TrustedSigners?: List>; DefaultTTL?: Value; FieldLevelEncryptionId?: Value; AllowedMethods?: List>; CachedMethods?: List>; SmoothStreaming?: Value; ForwardedValues: ForwardedValues; MinTTL?: Value; MaxTTL?: Value; constructor(properties: DefaultCacheBehavior); } export declare class Restrictions { GeoRestriction: GeoRestriction; constructor(properties: Restrictions); } export declare class Origin { OriginCustomHeaders?: List; DomainName: Value; S3OriginConfig?: S3OriginConfig; OriginPath?: Value; Id: Value; CustomOriginConfig?: CustomOriginConfig; constructor(properties: Origin); } export declare class DistributionConfig { Logging?: Logging; Comment?: Value; DefaultRootObject?: Value; Origins?: List; ViewerCertificate?: ViewerCertificate; PriceClass?: Value; DefaultCacheBehavior?: DefaultCacheBehavior; CustomErrorResponses?: List; Enabled: Value; Aliases?: List>; IPV6Enabled?: Value; WebACLId?: Value; HttpVersion?: Value; Restrictions?: Restrictions; CacheBehaviors?: List; constructor(properties: DistributionConfig); } export declare class OriginCustomHeader { HeaderValue: Value; HeaderName: Value; constructor(properties: OriginCustomHeader); } export declare class CustomOriginConfig { OriginReadTimeout?: Value; HTTPSPort?: Value; OriginKeepaliveTimeout?: Value; OriginSSLProtocols?: List>; HTTPPort?: Value; OriginProtocolPolicy: Value; constructor(properties: CustomOriginConfig); } export declare class ForwardedValues { Cookies?: Cookies; Headers?: List>; QueryString: Value; QueryStringCacheKeys?: List>; constructor(properties: ForwardedValues); } export declare class GeoRestriction { Locations?: List>; RestrictionType: Value; constructor(properties: GeoRestriction); } export declare class ViewerCertificate { IamCertificateId?: Value; SslSupportMethod?: Value; MinimumProtocolVersion?: Value; CloudFrontDefaultCertificate?: Value; AcmCertificateArn?: Value; constructor(properties: ViewerCertificate); } export declare class S3OriginConfig { OriginAccessIdentity?: Value; constructor(properties: S3OriginConfig); } export declare class CustomErrorResponse { ResponseCode?: Value; ErrorCachingMinTTL?: Value; ErrorCode: Value; ResponsePagePath?: Value; constructor(properties: CustomErrorResponse); } export declare class Logging { IncludeCookies?: Value; Bucket: Value; Prefix?: Value; constructor(properties: Logging); } export interface DistributionProperties { DistributionConfig: DistributionConfig; Tags?: List; } export default class Distribution extends ResourceBase { static Cookies: typeof Cookies; static LambdaFunctionAssociation: typeof LambdaFunctionAssociation; static CacheBehavior: typeof CacheBehavior; static DefaultCacheBehavior: typeof DefaultCacheBehavior; static Restrictions: typeof Restrictions; static Origin: typeof Origin; static DistributionConfig: typeof DistributionConfig; static OriginCustomHeader: typeof OriginCustomHeader; static CustomOriginConfig: typeof CustomOriginConfig; static ForwardedValues: typeof ForwardedValues; static GeoRestriction: typeof GeoRestriction; static ViewerCertificate: typeof ViewerCertificate; static S3OriginConfig: typeof S3OriginConfig; static CustomErrorResponse: typeof CustomErrorResponse; static Logging: typeof Logging; constructor(properties: DistributionProperties); }