/** * Find exact matches in data. * * @param data Data to search. * @param find Search for. * @param from Search from. * @yields Index. */ export declare function findExact(data: Readonly, find: Readonly, from?: number): Generator; /** * Find similar matches in data. * * @param data Data to search. * @param find Search for. * @param from Search from. * @param until Search until. * @param backward Search backwards. * @yields Index. */ export declare function findFuzzy(data: Readonly, find: readonly number[], from?: number, until?: number, backward?: boolean): Generator; /** * Fuzzy find once, null if multiple. * * @param data Data. * @param fuzzy Fuzzy data. * @returns Index or null. */ export declare function findFuzzyOnce(data: Readonly, fuzzy: readonly number[]): number | null; /** * Write similar match in data. * * @param data Data to write into. * @param offset Offset to write at. * @param fuzzy The similar data. */ export declare function writeFuzzy(data: Uint8Array, offset: number, fuzzy: readonly number[]): void; /** * Find the offsets for the patches in a group. * * @param data Data buffer. * @param patches Patches group. * @returns The offsets or null. */ export declare function patchGroupOffsets(data: Readonly, patches: { count: number; find: readonly number[]; replace: readonly number[]; }[]): number[][] | null; /** * Patch one group and only from list of patch groups. * * @param data Data to be patched. * @param patches Patches list. * @param type Patch type. */ export declare function patchOnce(data: Uint8Array, patches: { count: number; find: readonly number[]; replace: readonly number[]; }[][], type: string): void; /** * A utility to slide values within a window. * * @param amount The amount to slide. * @param offset Window offset. * @param size Window size. * @returns Sliding functions. */ export declare function slider(amount: number, offset: number, size: number): { /** * For UINT32. * * @param data Data view. * @param i Integer offset. * @param le Little endian if true. */ u32: (data: DataView, i: number, le: boolean) => void; };