/**
* 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 {};