export interface SearchableLabelSublabel {
    label?: string;
    sublabel?: string;
}
export interface SearchableLabelSublabelNested extends SearchableLabelSublabel {
    children?: SearchableLabelSublabelNested[];
}
export declare function createSearchFn(needle: string): <T extends SearchableLabelSublabelNested>(item: T) => T[];
export declare function searchNested<T extends SearchableLabelSublabelNested>(needle: string, haystack: T[]): T[];
export declare function searchLabel<T extends SearchableLabelSublabel>(needle: string, haystack: T[]): T[];
export declare function searchMatch(needle: string, haystack: string[]): boolean;
export interface HighlightableResultSegment {
    segment: string;
    isMatch: boolean;
}
export interface HighlightableResult {
    label: string;
    segments: HighlightableResultSegment[];
    matched: boolean;
}
export declare function getHighlightableLetters(needle: string, haystack: string): HighlightableResult;
