import { AfterViewInit, ChangeDetectorRef, EventEmitter } from '@angular/core';
import { ClipboardService } from 'ngx-clipboard';
import { DecodesPipe } from '../pipes';
import { AlToastService, Match, QuickSearch, StringSearchObj } from '../services';
import { AlHighlightTextComponent } from '../directives/highlight';
import { SelectItem } from 'primeng-lts/api';
import * as i0 from "@angular/core";
export interface SearchIndex {
    messageIndex: number;
    matchIndex: number;
    current: number;
    total: number;
}
interface AlDecodedResponse {
    hex?: string;
    ascii?: string;
}
export declare class AlPayloadViewerComponent implements AfterViewInit {
    private cdr;
    private decodePipe;
    alToastService: AlToastService;
    private clipboardService;
    showAscii: boolean;
    showHex: boolean;
    options: string[];
    hightlightOptions: StringSearchObj[];
    quickSearchItems: QuickSearch[];
    hexLineNumbers: string;
    searchIndex: SearchIndex;
    searchMarks: Match[][];
    decodeOptions: SelectItem[];
    selectedDecodeOption: string[];
    decoderOptions: SelectItem[];
    selectedDecoderOption: string[];
    rawAscii: string;
    transformedAscii?: string;
    processedHex: string;
    payload?: string;
    asciiString?: string;
    hexString?: string;
    showDecodeOptionsToggle: boolean;
    showDecoderOptions: boolean;
    fullHeight: boolean;
    onDecodedGenerated: EventEmitter<AlDecodedResponse>;
    hex?: AlHighlightTextComponent;
    ascii?: AlHighlightTextComponent;
    constructor(cdr: ChangeDetectorRef, decodePipe: DecodesPipe, alToastService: AlToastService, clipboardService: ClipboardService);
    ngAfterViewInit(): void;
    toggleDecodeOption(): void;
    /**
     * Toggle the available decoders
     */
    toggleDecoder(): void;
    /**
     * This function might not be needed when the app upgrade to angular 6
     * @param text string
     * @param max number
     * @param mask string
     */
    padStart(text: string, max: number, mask: string): string;
    generateHexLineNumbers(lines: number): void;
    registerMarks(marks: Match[], index: number): void;
    getApplicableDecoders(ascii: string): string[];
    copyToClipboard(decodedType?: 'hex' | 'ascii'): void;
    private findMatch;
    private setupGzipData;
    private processHex;
    static ɵfac: i0.ɵɵFactoryDef<AlPayloadViewerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlPayloadViewerComponent, "al-payload-viewer", never, { "payload": "payload"; "asciiString": "asciiString"; "hexString": "hexString"; "showDecodeOptionsToggle": "showDecodeOptionsToggle"; "showDecoderOptions": "showDecoderOptions"; "fullHeight": "fullHeight"; }, { "onDecodedGenerated": "onDecodedGenerated"; }, never, never>;
}
export {};
