import type { CdfContext } from './cdf'; import type { FrameHeader } from './frame-header'; import type { PixelPlane } from './pixels'; import type { SequenceHeader } from './sequence'; import type { SymbolDecoder } from './msac'; export declare function applyRestoration(postCdef: { y: PixelPlane, u: PixelPlane, v: PixelPlane, yStride: number, uvStride: number }, info: RestorationInfo, seq: SequenceHeader, hdr: FrameHeader, deblocked: { y: PixelPlane, u: PixelPlane, v: PixelPlane }): void; export declare const LR_NONE: 0; export declare const LR_WIENER: 1; export declare const LR_SGRPROJ: 2; export declare interface LrUnit { type: number filterH: Int32Array filterV: Int32Array sgrIdx: number sgrWeights: Int32Array } declare type SrcFn = (x: number) => number; declare type LeftFn = ((_k: number) => number) | null; declare type Row = Int32Array; /** Reads and stores loop-restoration unit parameters during tile decode. */ export declare class RestorationInfo { units: LrUnit[][]; unitCols: unknown[]; unitRows: unknown[]; restorePlanes: number; readonly seq: SequenceHeader; readonly hdr: FrameHeader; constructor(seq: SequenceHeader, hdr: FrameHeader); readForSuperblock(msac: SymbolDecoder, cdf: CdfContext, bx: number, by: number): void; }