import * as i0 from "@angular/core";
interface Options {
    maxConsecutiveNonMatchingChars: number;
    minRunLength: number;
}
interface DecodesObj {
    offset: number;
    decoded: any;
    digested: any;
}
interface ResultsObject {
    decodes: DecodesObj[];
}
interface Scanner {
    stringOffset: number;
    nonPrintableCount: number;
    accumulation: string;
    digested: string;
    bits: number;
    bitCount: number;
    consecutiveNonMatchingChars: number;
    flush: (options: Options, resultsObject: ResultsObject) => boolean;
    digest: (base64Char: string, options: Options, resultsObject: ResultsObject) => any;
}
declare type ScannerHolder = Array<Scanner | null>;
export declare class Decode64Service {
    protected base64CharRe: RegExp;
    protected printableCharRe: RegExp;
    protected capsRe: RegExp;
    protected lowerRe: RegExp;
    protected digitRe: RegExp;
    base64CharToBits(base64Char: string): number;
    makeScanner(stringOffset: number): Scanner;
    exec(scanners: ScannerHolder, f: (s: Scanner) => boolean): void;
    scan64(s: string, options?: Options): ResultsObject;
    streamDecode(input: string): string;
    static ɵfac: i0.ɵɵFactoryDef<Decode64Service, never>;
    static ɵprov: i0.ɵɵInjectableDef<Decode64Service>;
}
export {};
