/** * Copyright 2019 The AMP HTML Authors. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS-IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export declare type ValidationResponse = string | null; export declare type ConditionFunction = (context: Context) => () => Promise; export declare type Compression = 'brotli' | 'gzip' | 'none'; export declare const OrderedCompressionValues: string[]; declare type path = string; export declare type OriginalPath = Map; declare type size = number | null | undefined; export declare type maxSize = number | undefined; export declare type brotliSize = [size, maxSize]; export declare type gzipSize = [size, maxSize]; export declare type noneSize = [size, maxSize]; export declare type SizeMapValue = [brotliSize, gzipSize, noneSize]; export declare const SizeMapValueIndex: { brotli: number; gzip: number; none: number; }; export declare type SizeMap = Map; export declare type FileContentsMap = Map; export declare type FileModifier = ((contents: string) => string) | null; export interface Context { projectPath: string; packagePath: string; packageContent: string | null; silent: boolean; originalPaths: OriginalPath; compressed: SizeMap; comparison: SizeMap; fileModifier: FileModifier; fileContents: FileContentsMap; } export {};