/** * 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. */ import { Context, Compression, maxSize } from './validation/Condition'; import { Report } from './log/report'; export interface CompressionItem { path: string; compression: Compression; maxSize: maxSize; } /** * Find all items to compress, and store them for future compression. * @param context * @param findDefaultSize */ export declare function findItemsToCompress(context: Context, findDefaultSize: boolean): Promise>; /** * Given a context, compress all Items within splitting work eagly per cpu core to achieve some concurrency. * @param context Finalized Valid Context from Configuration */ export default function compress(context: Context, toCompress: Array, report: typeof Report | null): Promise;