export = CloudFront; declare class CloudFront { /** * * @param {String} url RAW URL to be parsed * @returns {String} Parsed URL string. * @description Ensures URL includes protocol and doesn't have a trailing slash */ static parseUrl(url: string): string; /** * * @param {String} key The object key your are creating a signed URL for. * @param {Object} [options] Override option object * @param {String} [options.domain] The domain name of the asset storage CloudFront distribution * @param {Number} [options.ttl=300] TTL in seconds from now when the signed URL should expire * @param {String} [options.keyPairId=CF_ACCESS_KEY_ID] The ID of the CloudFront key pair being used. Defaults to the CF_ACCESS_KEY_ID environment variable. * @param {String} [options.privateKey=CF_PRIVATE_KEY] A private key in RSA format. Defaults to the CF_PRIVATE_KEY environment variable. * @param {String} [options.bucket=ASSET_BUCKET] The name of the bucket the object exists in. Defaults to the ASSET_BUCKET environment variable. * @param {String} [options.ipAddress=Any] IP address or range of IP addresses of the users who can access your content. Default to any IP * @description Creates a signed CloudFront URL given the provided object. */ static signedGet(key: string, options?: { domain?: string; ttl?: number; keyPairId?: string; privateKey?: string; bucket?: string; ipAddress?: string; }): Promise; /** * * @param {import('express').Response} res Express res object * @param {Object} [options] Override option object * @param {Array} [options.paths] Array of paths to sign cookies for * @param {Number} [options.ttl=604800] TTL in seconds from now when the signed URL should expire * @param {String} [options.keyPairId=CF_ACCESS_KEY_ID] The ID of the CloudFront key pair being used. Defaults to the CF_ACCESS_KEY_ID environment variable. * @param {String} [options.privateKey=CF_PRIVATE_KEY] A private key in RSA format. Defaults to the CF_PRIVATE_KEY environment variable. * @param {String} [options.domain=ASSET_BUCKET] Name of the asset domain * @param {String} [options.ipAddress=Any] IP address or range of IP addresses of the users who can access your content. Default to any IP * @param {String} [options.sameSite='lax'] SameSite cookie option * @param {Boolean} [options.secure=true] Require TLS * @description Creates a signed CloudFront URL given the provided object. */ static signedCookie(res: import('express').Response, options?: { paths?: any[]; ttl?: number; keyPairId?: string; privateKey?: string; domain?: string; ipAddress?: string; sameSite?: string; secure?: boolean; }): void; /** * @param {import('express').Response} res Express res object * @param {Object} [options] Override options object * @param {String} [options.domain=ASSET_URL] The apex domain for the asset URL. Defaults to the apex domain of the ASSET_URL environment variable * @param {String} [options.sameSite=lax] Value of the "SameSite" Set-Cookie attribute * @param {String} [options.secure=true] Marks the cookie to be used with HTTPS only * @description Creates a signed CloudFront cookie given the provided object */ static deleteSignedCookie(res: import('express').Response, options?: { domain?: string; sameSite?: string; secure?: string; }): void; } //# sourceMappingURL=cloudfront.d.ts.map