import { OnChanges, SimpleChanges } from "@angular/core";
import { TextSegment } from "./models/text-segment";
import * as i0 from "@angular/core";
/**
 * TextHighlightComponent
 * A standalone Angular component that highlights specified keywords within a block of text.
 */
export declare class TextHighlightComponent implements OnChanges {
    /**
     * The main text where keywords will be highlighted.
     */
    fullText: string;
    /**
     * List of keywords to highlight in the text.
     */
    keywords: Array<string>;
    /**
     * Whether the search should be case-sensitive.
     */
    caseSensitive: boolean;
    /**
     * Custom CSS class for highlighted text.
     */
    highlightClass: string;
    /**
     * Inline styles for highlighted text.
     */
    highlightStyle: {
        [key: string]: string;
    };
    /**
     * Array of text segments, each representing a portion of the text
     * with information about whether it is highlighted.
     */
    highlightedSegments: Array<TextSegment>;
    /**
     * Lifecycle hook that is triggered when any data-bound property changes.
     * Calls the method to generate highlighted segments.
     * @param changes - The changes to the input properties.
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Generates the highlighted segments of the text based on the provided keywords.
     * If no keywords are provided, the entire text is treated as unhighlighted.
     */
    generateHighlightedSegments(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextHighlightComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextHighlightComponent, "ng-text-highlight", never, { "fullText": { "alias": "fullText"; "required": false; }; "keywords": { "alias": "keywords"; "required": false; }; "caseSensitive": { "alias": "caseSensitive"; "required": false; }; "highlightClass": { "alias": "highlightClass"; "required": false; }; "highlightStyle": { "alias": "highlightStyle"; "required": false; }; }, {}, never, never, true, never>;
}
