import { PropType } from 'vue';
import { StringRange } from '../../utils/findRanges.ts';
/**
 * Represents one chunk of the input text
 */
export interface HighlightChunk extends StringRange {
    highlight: boolean;
    text: string;
}
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /**
     * The string to display
     */
    text: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The string to match and highlight
     */
    search: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The ranges to highlight, takes precedence over the search prop.
     */
    highlight: {
        type: PropType<StringRange[]>;
        default: () => never[];
    };
}>, {}, {}, {
    /**
     * The indice ranges which should be highlighted.
     * If an array with ranges is provided, we use it. Otherwise
     * we calculate it based on the provided substring to highlight.
     *
     * @return The array of ranges to highlight
     */
    ranges(): StringRange[];
    /**
     * Calculate the different chunks to show based on the ranges to highlight.
     */
    chunks(): HighlightChunk[];
}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /**
     * The string to display
     */
    text: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The string to match and highlight
     */
    search: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The ranges to highlight, takes precedence over the search prop.
     */
    highlight: {
        type: PropType<StringRange[]>;
        default: () => never[];
    };
}>> & Readonly<{}>, {
    search: string;
    text: string;
    highlight: StringRange[];
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
