import { Tree } from './simpletree';
import { LockType } from './support';
export declare class TreeShiftTree<T> implements Tree<T> {
    private d;
    private v;
    private trees;
    constructor(d: number, length: number);
    static newTreeShiftTree<T>(d: number, length: number): TreeShiftTree<T>;
    shape(d: number, v: number): TreeShiftTree<T>;
    get(s: string): T;
    longestPrefix(s: string): [string, T];
    insert(s: string, v: T): T;
    walkPrefix(lockType: LockType, s: string, f: (s: string, v: T) => [boolean, Error | null]): Promise<Error | null>;
    delete(key: string): void;
    deletePrefix(prefix: string): Promise<number>;
    lock(writable: boolean): () => void;
}
