type ITypedArray = Uint8Array | Uint16Array | Uint32Array;
type IDataType = string | Buffer | ITypedArray;
type IHasher = {
	/**
	 * Initializes hash state to default value
	 */
	init: () => IHasher;
	/**
	 * Updates the hash content with the given data
	 */
	update: (data: IDataType) => IHasher;
	/**
	 * Calculates the hash of all of the data passed to be hashed with hash.update().
	 * Defaults to hexadecimal string
	 * @param outputType If outputType is "binary", it returns Uint8Array. Otherwise it
	 *                   returns hexadecimal string
	 */
	digest: {
		(outputType: "binary"): Uint8Array;
		(outputType?: "hex"): string;
	};
	/**
	 * Save the current internal state of the hasher for later resumption with load().
	 * Cannot be called before .init() or after .digest()
	 *
	 * Note that this state can include arbitrary information about the value being hashed (e.g.
	 * could include N plaintext bytes from the value), so needs to be treated as being as
	 * sensitive as the input value itself.
	 */
	save: () => Uint8Array;
	/**
	 * Resume a state that was created by save(). If this state was not created by a
	 * compatible build of hash-wasm, an exception will be thrown.
	 */
	load: (state: Uint8Array) => IHasher;
	/**
	 * Block size in bytes
	 */
	blockSize: number;
	/**
	 * Digest size in bytes
	 */
	digestSize: number;
};
declare function createSHA256(): Promise<IHasher>;
declare function createHMAC(hash: Promise<IHasher>, key: IDataType): Promise<IHasher>;
type IHasher$1 = Awaited<ReturnType<typeof createSHA256>>;
type IDataType$1 = Parameters<IHasher$1["update"]>["0"];
export declare class ChecksumWritableStream<W extends IDataType$1> extends WritableStream {
	#private;
	constructor();
	get digest(): string | undefined;
}
export declare class ChecksumPassThroughStream<O extends IDataType$1> extends TransformStream {
	#private;
	constructor();
	get digest(): string | undefined;
}
export declare function checksumFromReadableStream(readableStream: ReadableStream<Uint8Array>): Promise<string>;
interface AdditionalDataHolder {
	/**
	 * Gets the additional data for this object that did not belong to the properties.
	 * @return The additional data for this object.
	 */
	additionalData?: Record<string, unknown>;
}
interface Parsable {
}
interface Action extends AdditionalDataHolder, Parsable {
	/**
	 * The ActionParameter1 property
	 */
	actionParameter1?: string | null;
	/**
	 * The ActionParameter2 property
	 */
	actionParameter2?: string | null;
	/**
	 * The ActionType property
	 */
	actionType?: number | null;
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
}
interface EdgeRule extends AdditionalDataHolder, Parsable {
	/**
	 * The Action parameter 1. The value depends on other parameters of the edge rule.
	 */
	actionParameter1?: string | null;
	/**
	 * The Action parameter 2. The value depends on other parameters of the edge rule.
	 */
	actionParameter2?: string | null;
	/**
	 * The ActionType property
	 */
	actionType?: number | null;
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * The description of the edge rule
	 */
	description?: string | null;
	/**
	 * Determines if the edge rule is currently enabled or not
	 */
	enabled?: boolean | null;
	/**
	 * The ExtraActions property
	 */
	extraActions?: Action[] | null;
	/**
	 * The unique GUID of the edge rule
	 */
	guid?: string | null;
	/**
	 * The TriggerMatchingType property
	 */
	triggerMatchingType?: number | null;
	/**
	 * The Triggers property
	 */
	triggers?: Trigger[] | null;
}
interface Trigger extends AdditionalDataHolder, Parsable {
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * The trigger parameter 1. The value depends on the type of trigger.
	 */
	parameter1?: string | null;
	/**
	 * The list of pattern matches that will trigger the edge rule
	 */
	patternMatches?: string[] | null;
	/**
	 * The PatternMatchingType property
	 */
	patternMatchingType?: number | null;
	/**
	 * The Type property
	 */
	type?: number | null;
}
interface OptimizerClass extends AdditionalDataHolder, Parsable {
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * The Name property
	 */
	name?: string | null;
	/**
	 * The Properties property
	 */
	properties?: Properties | null;
}
interface Properties extends AdditionalDataHolder, Parsable {
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * The aspect_ratio property
	 */
	aspectRatio?: string | null;
	/**
	 * The auto_optimize property
	 */
	autoOptimize?: Properties_auto_optimize | null;
	/**
	 * The blur property
	 */
	blur?: string | null;
	/**
	 * The brightness property
	 */
	brightness?: string | null;
	/**
	 * The contrast property
	 */
	contrast?: string | null;
	/**
	 * The crop property
	 */
	crop?: string | null;
	/**
	 * The crop_gravity property
	 */
	cropGravity?: Properties_crop_gravity | null;
	/**
	 * The flip property
	 */
	flip?: string | null;
	/**
	 * The flop property
	 */
	flop?: string | null;
	/**
	 * The gamma property
	 */
	gamma?: string | null;
	/**
	 * The height property
	 */
	height?: string | null;
	/**
	 * The hue property
	 */
	hue?: string | null;
	/**
	 * The optimizer property
	 */
	optimizer?: Properties_optimizer | null;
	/**
	 * The quality property
	 */
	quality?: string | null;
	/**
	 * The saturation property
	 */
	saturation?: string | null;
	/**
	 * The sharpen property
	 */
	sharpen?: string | null;
	/**
	 * The width property
	 */
	width?: string | null;
}
type Properties_auto_optimize = (typeof Properties_auto_optimizeObject)[keyof typeof Properties_auto_optimizeObject];
type Properties_crop_gravity = (typeof Properties_crop_gravityObject)[keyof typeof Properties_crop_gravityObject];
type Properties_optimizer = (typeof Properties_optimizerObject)[keyof typeof Properties_optimizerObject];
declare const Properties_auto_optimizeObject: {
	readonly Low: "low";
	readonly Medium: "medium";
	readonly High: "high";
};
declare const Properties_crop_gravityObject: {
	readonly Center: "center";
	readonly Forget: "forget";
	readonly East: "east";
	readonly North: "north";
	readonly South: "south";
	readonly West: "west";
	readonly Northeast: "northeast";
	readonly Northwest: "northwest";
	readonly Southeast: "southeast";
	readonly Southwest: "southwest";
};
declare const Properties_optimizerObject: {
	readonly None: "none";
	readonly Image: "image";
};
interface BunnyAiImageBlueprint extends AdditionalDataHolder, Parsable {
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * The Name property
	 */
	name?: string | null;
	/**
	 * The Properties property
	 */
	properties?: BunnyAiImageBlueprint_Properties | null;
}
interface BunnyAiImageBlueprint_Properties extends AdditionalDataHolder, Parsable {
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * The Cfg property
	 */
	cfg?: string | null;
	/**
	 * The NegativePrompt property
	 */
	negativePrompt?: string | null;
	/**
	 * The PostPrompt property
	 */
	postPrompt?: string | null;
	/**
	 * The PrePrompt property
	 */
	prePrompt?: string | null;
	/**
	 * The Steps property
	 */
	steps?: string | null;
}
interface Hostname extends AdditionalDataHolder, Parsable {
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * Contains the Base64Url encoded certificate for the hostname
	 */
	certificate?: string | null;
	/**
	 * Contains the Base64Url encoded certificate key for the hostname
	 */
	certificateKey?: string | null;
	/**
	 * Determines if the Force SSL feature is enabled
	 */
	forceSSL?: boolean | null;
	/**
	 * Determines if the hostname has an SSL certificate configured
	 */
	hasCertificate?: boolean | null;
	/**
	 * The unique ID of the hostname
	 */
	id?: number | null;
	/**
	 * Determines if this is a system hostname controlled by bunny.net
	 */
	isSystemHostname?: boolean | null;
	/**
	 * The hostname value for the domain name
	 */
	value?: string | null;
}
interface PullZone extends AdditionalDataHolder, Parsable {
	/**
	 * The list of extensions that will return the CORS headers
	 */
	accessControlOriginHeaderExtensions?: string[] | null;
	/**
	 * Determines if the Add Canonical Header is enabled for this Pull Zone
	 */
	addCanonicalHeader?: boolean | null;
	/**
	 * Determines if the Pull Zone should forward the current hostname to the origin
	 */
	addHostHeader?: boolean | null;
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * The Pull Zone specific pricing discount for Africa region.
	 */
	africaDiscount?: number | null;
	/**
	 * The list of referrer hostnames that are allowed to access the pull zone.Requests containing the header Referer: hostname that is not on the list will be rejected.If empty, all the referrers are allowed
	 */
	allowedReferrers?: string[] | null;
	/**
	 * The Pull Zone specific pricing discount for Asia & Oceania region.
	 */
	asiaOceaniaDiscount?: number | null;
	/**
	 * Determines if the AWS Signing is enabled
	 */
	aWSSigningEnabled?: boolean | null;
	/**
	 * The AWS Signing region key
	 */
	aWSSigningKey?: string | null;
	/**
	 * The AWS Signing region name
	 */
	aWSSigningRegionName?: string | null;
	/**
	 * The AWS Signing region secret
	 */
	aWSSigningSecret?: string | null;
	/**
	 * The list of blocked countries with the two-letter Alpha2 ISO codes
	 */
	blockedCountries?: string[] | null;
	/**
	 * The list of IPs that are blocked from accessing the pull zone. Requests coming from the following IPs will be rejected. If empty, all the IPs will be allowed
	 */
	blockedIps?: string[] | null;
	/**
	 * The list of referrer hostnames that are not allowed to access the pull zone. Requests containing the header Referer: hostname that is on the list will be rejected. If empty, all the referrers are allowed
	 */
	blockedReferrers?: string[] | null;
	/**
	 * The BlockNoneReferrer property
	 */
	blockNoneReferrer?: boolean | null;
	/**
	 * If true, POST requests to the zone will be blocked
	 */
	blockPostRequests?: boolean | null;
	/**
	 * If true, access to root path will return a 403 error
	 */
	blockRootPathAccess?: boolean | null;
	/**
	 * The list of budget redirected countries with the two-letter Alpha2 ISO codes
	 */
	budgetRedirectedCountries?: string[] | null;
	/**
	 * The BunnyAiImageBlueprints property
	 */
	bunnyAiImageBlueprints?: BunnyAiImageBlueprint[] | null;
	/**
	 * Excessive requests are delayed until their number exceeds the maximum burst size.
	 */
	burstSize?: number | null;
	/**
	 * The override cache time for the pull zone
	 */
	cacheControlMaxAgeOverride?: number | null;
	/**
	 * The override cache time for the pull zone for the end client
	 */
	cacheControlPublicMaxAgeOverride?: number | null;
	/**
	 * Determines if bunny.net should be caching error responses
	 */
	cacheErrorResponses?: boolean | null;
	/**
	 * The CacheVersion property
	 */
	cacheVersion?: number | null;
	/**
	 * The CNAME domain of the pull zone for setting up custom hostnames
	 */
	cnameDomain?: string | null;
	/**
	 * The number of connections limited per IP for this zone
	 */
	connectionLimitPerIPCount?: number | null;
	/**
	 * Contains the list of vary parameters that will be used for vary cache by cookie string. If empty, cookie vary will not be used.
	 */
	cookieVaryParameters?: string[] | null;
	/**
	 * Determines if the cookies are disabled for the pull zone
	 */
	disableCookies?: boolean | null;
	/**
	 * If true, the built-in let's encrypt is disabled and requests are passed to the origin.
	 */
	disableLetsEncrypt?: boolean | null;
	/**
	 * The ID of the DNS record tied to this pull zone
	 */
	dnsRecordId?: number | null;
	/**
	 * The cached version of the DNS record value
	 */
	dnsRecordValue?: string | null;
	/**
	 * The ID of the DNS zone tied to this pull zone
	 */
	dnsZoneId?: number | null;
	/**
	 * The list of edge rules on this Pull Zone
	 */
	edgeRules?: EdgeRule[] | null;
	/**
	 * The EdgeScriptExecutionPhase property
	 */
	edgeScriptExecutionPhase?: number | null;
	/**
	 * The ID of the edge script that the pull zone is linked to
	 */
	edgeScriptId?: number | null;
	/**
	 * Determines if the CORS headers should be enabled
	 */
	enableAccessControlOriginHeader?: boolean | null;
	/**
	 * If set to true, any hostnames added to this Pull Zone will automatically enable SSL.
	 */
	enableAutoSSL?: boolean | null;
	/**
	 * Determines if the AVIF Vary feature is enabled.
	 */
	enableAvifVary?: boolean | null;
	/**
	 * The EnableBunnyImageAi property
	 */
	enableBunnyImageAi?: boolean | null;
	/**
	 * Determines if the cache slice (Optimize for video) feature is enabled for the Pull Zone
	 */
	enableCacheSlice?: boolean | null;
	/**
	 * Determines if the Cookie Vary feature is enabled.
	 */
	enableCookieVary?: boolean | null;
	/**
	 * Determines if the Country Code Vary feature is enabled.
	 */
	enableCountryCodeVary?: boolean | null;
	/**
	 * Determines if the Pull Zone is currently enabled, active and running
	 */
	enabled?: boolean | null;
	/**
	 * Determines if the delivery from the Africa region is enabled for this pull zone
	 */
	enableGeoZoneAF?: boolean | null;
	/**
	 * Determines if the delivery from the Asian / Oceanian region is enabled for this pull zone
	 */
	enableGeoZoneASIA?: boolean | null;
	/**
	 * Determines if the delivery from the European region is enabled for this pull zone
	 */
	enableGeoZoneEU?: boolean | null;
	/**
	 * Determines if the delivery from the South American region is enabled for this pull zone
	 */
	enableGeoZoneSA?: boolean | null;
	/**
	 * Determines if the delivery from the North American region is enabled for this pull zone
	 */
	enableGeoZoneUS?: boolean | null;
	/**
	 * Determines if the Hostname Vary feature is enabled.
	 */
	enableHostnameVary?: boolean | null;
	/**
	 * Determines if the logging is enabled for this Pull Zone
	 */
	enableLogging?: boolean | null;
	/**
	 * Determines if the Mobile Vary feature is enabled.
	 */
	enableMobileVary?: boolean | null;
	/**
	 * If true the server will use the origin shield feature
	 */
	enableOriginShield?: boolean | null;
	/**
	 * If set to true the query string ordering property is enabled.
	 */
	enableQueryStringOrdering?: boolean | null;
	/**
	 * Determines if request coalescing is currently enabled.
	 */
	enableRequestCoalescing?: boolean | null;
	/**
	 * The EnableSafeHop property
	 */
	enableSafeHop?: boolean | null;
	/**
	 * Determines if smart caching is enabled for this zone
	 */
	enableSmartCache?: boolean | null;
	/**
	 * Determines if the TLS 1 is enabled on the Pull Zone
	 */
	enableTLS1?: boolean | null;
	/**
	 * Determines if the TLS 1.1 is enabled on the Pull Zone
	 */
	enableTLS11?: boolean | null;
	/**
	 * Determines if the WebP Vary feature is enabled.
	 */
	enableWebPVary?: boolean | null;
	/**
	 * Contains the custom error page code that will be returned
	 */
	errorPageCustomCode?: string | null;
	/**
	 * Determines if custom error page code should be enabled.
	 */
	errorPageEnableCustomCode?: boolean | null;
	/**
	 * Determines if the statuspage widget should be displayed on the error pages
	 */
	errorPageEnableStatuspageWidget?: boolean | null;
	/**
	 * The statuspage code that will be used to build the status widget
	 */
	errorPageStatuspageCode?: string | null;
	/**
	 * Determines if the error pages should be whitelabel or not
	 */
	errorPageWhitelabel?: boolean | null;
	/**
	 * The Pull Zone specific pricing discount for EU and US region.
	 */
	eUUSDiscount?: number | null;
	/**
	 * Determines if the zone will follow origin redirects
	 */
	followRedirects?: boolean | null;
	/**
	 * The list of hostnames linked to this Pull Zone
	 */
	hostnames?: Hostname[] | null;
	/**
	 * The unique ID of the pull zone.
	 */
	id?: number | null;
	/**
	 * True if the Pull Zone is ignoring query strings when serving cached objects
	 */
	ignoreQueryStrings?: boolean | null;
	/**
	 * The amount of data after the rate limit will be activated
	 */
	limitRateAfter?: number | null;
	/**
	 * The maximum rate at which the zone will transfer data in kb/s. 0 for unlimited
	 */
	limitRatePerSecond?: number | null;
	/**
	 * The LogAnonymizationType property
	 */
	logAnonymizationType?: number | null;
	/**
	 * The LogFormat property
	 */
	logFormat?: number | null;
	/**
	 * Determines if the log forwarding is enabled
	 */
	logForwardingEnabled?: boolean | null;
	/**
	 * The LogForwardingFormat property
	 */
	logForwardingFormat?: number | null;
	/**
	 * The log forwarding hostname
	 */
	logForwardingHostname?: string | null;
	/**
	 * The log forwarding port
	 */
	logForwardingPort?: number | null;
	/**
	 * The LogForwardingProtocol property
	 */
	logForwardingProtocol?: number | null;
	/**
	 * The log forwarding token value
	 */
	logForwardingToken?: string | null;
	/**
	 * Determines if the log anonymization should be enabled
	 */
	loggingIPAnonymizationEnabled?: boolean | null;
	/**
	 * Determines if the permanent logging feature is enabled
	 */
	loggingSaveToStorage?: boolean | null;
	/**
	 * The ID of the logging storage zone that is configured for this Pull Zone
	 */
	loggingStorageZoneId?: number | null;
	/**
	 * The MagicContainersAppId property
	 */
	magicContainersAppId?: string | null;
	/**
	 * The MagicContainersEndpointId property
	 */
	magicContainersEndpointId?: number | null;
	/**
	 * The MiddlewareScriptId property
	 */
	middlewareScriptId?: number | null;
	/**
	 * The monthly limit of bandwidth in bytes that the pullzone is allowed to use
	 */
	monthlyBandwidthLimit?: number | null;
	/**
	 * The amount of bandwidth in bytes that the pull zone used this month
	 */
	monthlyBandwidthUsed?: number | null;
	/**
	 * The total monthly charges for this so zone so far
	 */
	monthlyCharges?: number | null;
	/**
	 * The name of the pull zone.
	 */
	name?: string | null;
	/**
	 * Determines if the automatic image optimization should be enabled
	 */
	optimizerAutomaticOptimizationEnabled?: boolean | null;
	/**
	 * Contains the list of optimizer classes
	 */
	optimizerClasses?: OptimizerClass[] | null;
	/**
	 * Determines the maximum automatic image size for desktop clients
	 */
	optimizerDesktopMaxWidth?: number | null;
	/**
	 * Determines if the optimizer should be enabled for this zone
	 */
	optimizerEnabled?: boolean | null;
	/**
	 * Determines the image manipulation should be enabled
	 */
	optimizerEnableManipulationEngine?: boolean | null;
	/**
	 * Determines if the WebP optimization should be enabled
	 */
	optimizerEnableWebP?: boolean | null;
	/**
	 * Determines if the optimizer class list should be enforced
	 */
	optimizerForceClasses?: boolean | null;
	/**
	 * Determines the image quality for desktop clients
	 */
	optimizerImageQuality?: number | null;
	/**
	 * Determines if the CSS minification should be enabled
	 */
	optimizerMinifyCSS?: boolean | null;
	/**
	 * Determines if the JavaScript minification should be enabled
	 */
	optimizerMinifyJavaScript?: boolean | null;
	/**
	 * Determines the image quality for mobile clients
	 */
	optimizerMobileImageQuality?: number | null;
	/**
	 * Determines the maximum automatic image size for mobile clients
	 */
	optimizerMobileMaxWidth?: number | null;
	/**
	 * The OptimizerStaticHtmlEnabled property
	 */
	optimizerStaticHtmlEnabled?: boolean | null;
	/**
	 * The OptimizerStaticHtmlWordPressBypassCookie property
	 */
	optimizerStaticHtmlWordPressBypassCookie?: string | null;
	/**
	 * The OptimizerStaticHtmlWordPressPath property
	 */
	optimizerStaticHtmlWordPressPath?: string | null;
	/**
	 * Determines if image watermarking should be enabled
	 */
	optimizerWatermarkEnabled?: boolean | null;
	/**
	 * Sets the minimum image size to which the watermark will be added
	 */
	optimizerWatermarkMinImageSize?: number | null;
	/**
	 * Sets the offset of the watermark image
	 */
	optimizerWatermarkOffset?: number | null;
	/**
	 * The OptimizerWatermarkPosition property
	 */
	optimizerWatermarkPosition?: number | null;
	/**
	 * Sets the URL of the watermark image
	 */
	optimizerWatermarkUrl?: string | null;
	/**
	 * The amount of seconds to wait when connecting to the origin. Otherwise the request will fail or retry.
	 */
	originConnectTimeout?: number | null;
	/**
	 * Determines the host header that will be sent to the origin
	 */
	originHostHeader?: string | null;
	/**
	 * Returns the link short preview value for the pull zone origin connection.
	 */
	originLinkValue?: string | null;
	/**
	 * The amount of seconds to wait when waiting for the origin reply. Otherwise the request will fail or retry.
	 */
	originResponseTimeout?: number | null;
	/**
	 * The number of retries to the origin server
	 */
	originRetries?: number | null;
	/**
	 * Determines if we should retry the request in case of a 5XX response.
	 */
	originRetry5XXResponses?: boolean | null;
	/**
	 * Determines if we should retry the request in case of a connection timeout.
	 */
	originRetryConnectionTimeout?: boolean | null;
	/**
	 * Determines the amount of time that the CDN should wait before retrying an origin request.
	 */
	originRetryDelay?: number | null;
	/**
	 * Determines if we should retry the request in case of a response timeout.
	 */
	originRetryResponseTimeout?: boolean | null;
	/**
	 * Determines if the origin shield concurrency limit is enabled.
	 */
	originShieldEnableConcurrencyLimit?: boolean | null;
	/**
	 * Determines the number of maximum concurrent requests allowed to the origin.
	 */
	originShieldMaxConcurrentRequests?: number | null;
	/**
	 * Determines the max number of origin requests that will remain in the queue
	 */
	originShieldMaxQueuedRequests?: number | null;
	/**
	 * Determines the max queue wait time
	 */
	originShieldQueueMaxWaitTime?: number | null;
	/**
	 * The zone code of the origin shield
	 */
	originShieldZoneCode?: string | null;
	/**
	 * The OriginType property
	 */
	originType?: number | null;
	/**
	 * The origin URL of the pull zone where the files are fetched from.
	 */
	originUrl?: string | null;
	/**
	 * The IP of the storage zone used for Perma-Cache
	 */
	permaCacheStorageZoneId?: number | null;
	/**
	 * The PermaCacheType property
	 */
	permaCacheType?: number | null;
	/**
	 * The custom preloading screen code
	 */
	preloadingScreenCode?: string | null;
	/**
	 * Determines if the custom preloader screen is enabled
	 */
	preloadingScreenCodeEnabled?: boolean | null;
	/**
	 * The delay in milliseconds after which the preloading screen will be displayed
	 */
	preloadingScreenDelay?: number | null;
	/**
	 * Determines if the preloading screen is currently enabled
	 */
	preloadingScreenEnabled?: boolean | null;
	/**
	 * The preloading screen logo URL
	 */
	preloadingScreenLogoUrl?: string | null;
	/**
	 * The PreloadingScreenShowOnFirstVisit property
	 */
	preloadingScreenShowOnFirstVisit?: boolean | null;
	/**
	 * The PreloadingScreenTheme property
	 */
	preloadingScreenTheme?: number | null;
	/**
	 * The custom price override for this zone
	 */
	priceOverride?: number | null;
	/**
	 * Contains the list of vary parameters that will be used for vary cache by query string. If empty, all parameters will be used to construct the key
	 */
	queryStringVaryParameters?: string[] | null;
	/**
	 * Determines the lock time for coalesced requests.
	 */
	requestCoalescingTimeout?: number | null;
	/**
	 * Max number of requests per IP per second
	 */
	requestLimit?: number | null;
	/**
	 * The list of routing filters enabled for this zone
	 */
	routingFilters?: PullZone_RoutingFilters[] | null;
	/**
	 * The ShieldDDosProtectionEnabled property
	 */
	shieldDDosProtectionEnabled?: boolean | null;
	/**
	 * The ShieldDDosProtectionType property
	 */
	shieldDDosProtectionType?: number | null;
	/**
	 * The Pull Zone specific pricing discount for South America region.
	 */
	southAmericaDiscount?: number | null;
	/**
	 * The ID of the storage zone that the pull zone is linked to
	 */
	storageZoneId?: number | null;
	/**
	 * The Suspended property
	 */
	suspended?: boolean | null;
	/**
	 * The Type property
	 */
	type?: number | null;
	/**
	 * Determines if cache update is performed in the background.
	 */
	useBackgroundUpdate?: boolean | null;
	/**
	 * The UserId property
	 */
	userId?: string | null;
	/**
	 * Determines if we should use stale cache while the origin is offline
	 */
	useStaleWhileOffline?: boolean | null;
	/**
	 * Determines if we should use stale cache while cache is updating
	 */
	useStaleWhileUpdating?: boolean | null;
	/**
	 * Determines if the Pull Zone should verify the origin SSL certificate
	 */
	verifyOriginSSL?: boolean | null;
	/**
	 * The ID of the video library that the zone is linked to
	 */
	videoLibraryId?: number | null;
	/**
	 * True if the URL secure token authentication security is enabled
	 */
	zoneSecurityEnabled?: boolean | null;
	/**
	 * True if the zone security hash should include the remote IP
	 */
	zoneSecurityIncludeHashRemoteIP?: boolean | null;
	/**
	 * The security key used for secure URL token authentication
	 */
	zoneSecurityKey?: string | null;
}
type PullZone_RoutingFilters = (typeof PullZone_RoutingFiltersObject)[keyof typeof PullZone_RoutingFiltersObject];
declare const PullZone_RoutingFiltersObject: {
	readonly All: "all";
	readonly Eu: "eu";
};
type EdgeReplicationRegions = (typeof EdgeReplicationRegionsObject)[keyof typeof EdgeReplicationRegionsObject];
type StandardRegions = (typeof StandardRegionsObject)[keyof typeof StandardRegionsObject];
interface StorageZone extends AdditionalDataHolder, Parsable {
	/**
	 * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
	 */
	additionalData?: Record<string, unknown>;
	/**
	 * The Custom404FilePath property
	 */
	custom404FilePath?: string | null;
	/**
	 * The DateModified property
	 */
	dateModified?: Date | null;
	/**
	 * The Deleted property
	 */
	deleted?: boolean | null;
	/**
	 * The Discount property
	 */
	discount?: number | null;
	/**
	 * The FilesStored property
	 */
	filesStored?: number | null;
	/**
	 * The Id property
	 */
	id?: number | null;
	/**
	 * The Name property
	 */
	name?: string | null;
	/**
	 * The Password property
	 */
	password?: string | null;
	/**
	 * The PriceOverride property
	 */
	priceOverride?: number | null;
	/**
	 * The PullZones property
	 */
	pullZones?: PullZone[] | null;
	/**
	 * The ReadOnlyPassword property
	 */
	readOnlyPassword?: string | null;
	/**
	 * The Region property
	 */
	region?: StandardRegions | null;
	/**
	 * The ReplicationChangeInProgress property
	 */
	replicationChangeInProgress?: boolean | null;
	/**
	 * The ReplicationRegions property
	 */
	replicationRegions?: EdgeReplicationRegions[] | null;
	/**
	 * The Rewrite404To200 property
	 */
	rewrite404To200?: boolean | null;
	/**
	 * The StorageHostname property
	 */
	storageHostname?: string | null;
	/**
	 * The StorageUsed property
	 */
	storageUsed?: number | null;
	/**
	 * The UserId property
	 */
	userId?: string | null;
	/**
	 * The ZoneTier property
	 */
	zoneTier?: number | null;
}
declare const EdgeReplicationRegionsObject: {
	readonly DE: "DE";
	readonly UK: "UK";
	readonly SE: "SE";
	readonly CZ: "CZ";
	readonly ES: "ES";
	readonly NY: "NY";
	readonly LA: "LA";
	readonly WA: "WA";
	readonly MI: "MI";
	readonly SG: "SG";
	readonly HK: "HK";
	readonly JP: "JP";
	readonly SYD: "SYD";
	readonly BR: "BR";
	readonly JH: "JH";
};
declare const StandardRegionsObject: {
	readonly DE: "DE";
	readonly UK: "UK";
	readonly SE: "SE";
	readonly NY: "NY";
	readonly LA: "LA";
	readonly SG: "SG";
	readonly SYD: "SYD";
	readonly BR: "BR";
	readonly JH: "JH";
};
type PartialStorageZone = Pick<StorageZone, "name" | "password" | "storageHostname">;
type IDataType$2 = Parameters<typeof createHMAC>["1"];
type SharedParameters = {
	expires?: number | string;
	key: IDataType$2;
	maxSize?: number | string;
	storageZone: PartialStorageZone;
};
export type SignUrlParameters = {
	baseUrl: (() => Promise<string> | string) | string;
	checksum: false | string;
	filePath: string;
	fileSizeInBytes?: number;
} & SharedParameters;
export type UploadFileParameters = {
	body: null | ReadableStream;
	url: string;
} & SharedParameters;
export declare function signUrl({ baseUrl: getBaseUrl, checksum, expires, filePath, fileSizeInBytes, key, maxSize, storageZone, }: SignUrlParameters): Promise<Response>;
export declare function uploadFile({ body, expires: newExpires, key, maxSize, storageZone, url, }: UploadFileParameters): Promise<Response>;

export {};
