/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
/**
 * @deprecated  for internal use only. public export will be removed.
 * @internal
 */
export interface TSTResult<T> {
    key: string;
    val: T;
}
/**
 * @deprecated  for internal use only. public export will be removed.
 * @internal
 */
export interface TSTNode<T> {
    c: string;
    left?: TSTNode<T>;
    mid?: TSTNode<T>;
    right?: TSTNode<T>;
    val?: T;
}
/**
 * @deprecated  for internal use only. public export will be removed.
 * @internal
 */
export interface ProxString<T> {
    text: string;
    invDistance: number;
    val: T;
}
/**
 * @deprecated  for internal use only. public export will be removed.
 * @internal
 */
export declare class TST<T> {
    private n;
    private root;
    size(): number;
    private contains;
    get(key: string): T | undefined;
    private nodeGet;
    put(key: string, val: T): void;
    private nodePut;
    neighbors(text: string, distance?: number): ProxString<T>[];
    keysWithPrefix(text: string): string[];
    private collect;
    private mapNode;
    map(fn: (key: string, val: T) => void): void;
    pairsWithPrefix(text: string): TSTResult<T>[];
    private collectPairs;
    private nodeProximity;
}
//# sourceMappingURL=tst.d.ts.map