/*! * Copyright (c) 2017-present Ghostery GmbH. All rights reserved. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import Config from '../config.js'; import Preprocessor from '../preprocessor.js'; import FilterEngine from './engine.js'; import { ICategory } from './metadata/categories.js'; import { IOrganization } from './metadata/organizations.js'; import { IPattern } from './metadata/patterns.js'; export type HashFunc = (arr: Uint8Array, beg: number, end: number) => number | string | bigint; export type MergeOptions = { skipResources?: boolean; overrideConfig?: Partial; useBinaryMerge?: boolean; hashFunc?: HashFunc; }; type MetadataCollection = { organizations: Record; categories: Record; patterns: Record; }; export declare function mergeMetadata(engines: InstanceType[]): MetadataCollection; export declare function mergeLists(engines: InstanceType[]): Map; export declare function mergePreprocessors(engines: InstanceType[]): Preprocessor[]; /** * Legacy semantic merge implementation, moved out of `FilterEngine.merge` so it * can live next to byte-level merging during the transition. */ export declare function legacyMerge(self: T, engines: InstanceType[], { skipResources, overrideConfig }?: MergeOptions): InstanceType; export declare function binaryMerge(self: T, engines: InstanceType[], { skipResources, overrideConfig, hashFunc }?: MergeOptions): InstanceType; export {}; //# sourceMappingURL=merger.d.ts.map