import type { RegexSyntax } from './types.ts';
import type { WalkFilters } from './grep_select.ts';
export interface GrepFlags {
    filters: WalkFilters;
    binaryMode: string;
    recursive: boolean;
    ignoreCase: boolean;
    invert: boolean;
    lineNumbers: boolean;
    byteOffsets: boolean;
    countOnly: boolean;
    filesOnly: boolean;
    filesWithoutMatch: boolean;
    wholeWord: boolean;
    lineRegexp: boolean;
    fixedString: boolean;
    syntax: RegexSyntax;
    onlyMatching: boolean;
    maxCount: number | null;
    quiet: boolean;
    noMessages: boolean;
    withFilename: boolean;
    noFilename: boolean;
    afterContext: number | null;
    beforeContext: number | null;
    skipDirectories?: boolean;
    skipDevices?: boolean;
    nullData?: boolean;
    null?: boolean;
    initialTab?: boolean;
    groupSeparator?: string | null;
    label?: string;
    dereference?: boolean;
}
export declare const PROBE_BLOCK_BYTES: number;
/**
 * The line grep prints between two context groups, or nothing. GNU separates
 * groups once -A, -B or -C is given, zero included and under -o too (grep
 * 3.11: `grep -A0` prints `--` between two lines that are not neighbours);
 * -c, -l, -L and -q print no lines.
 */
export declare function groupLine(f: GrepFlags): string;
/** What follows a file name -l or -L prints: NUL under -Z. */
export declare function nameEnd(f: GrepFlags): string;
//# sourceMappingURL=grep_binary.d.ts.map