import { WriteStream } from "fs"; import { Blob } from "./blob"; import { Buf } from "./buf"; import { Repository } from "./repository"; export namespace Filter { const enum FLAG { DEFAULT = 0, ALLOW_UNSAFE = 1, } const enum MODE { TO_WORKTREE = 0, SMUDGE = 0, TO_ODB = 1, CLEAN = 1, } } export class Filter { static listContains(filters: any, name: string): number; static listLength(fl: any): number; static listNew(repo: Repository, mode: number, options: number): Promise; static listStreamBlob(filters: any, blob: Blob, target: WriteStream): number; static listStreamData(filters: any, data: Buf, target: WriteStream): number; static listStreamFile(filters: any, repo: Repository, path: string, target: WriteStream): number; static unregister(name: string): number; lookup(name: string): Filter; register(name: string, priority: number): number; version: number; attributes: string; stream: Function; }