import type { IIndexOfOptions, IResult, Mapping, StrPosPointer } from './binding';
export declare class ConfusableMatcher {
    private readonly _maps;
    private readonly _skips;
    private _instance;
    constructor(maps?: Mapping[], skips?: Iterable<string>, addDefaultValues?: boolean);
    addMapping(key: string, value: string): void;
    addMappings(mappings: Iterable<Mapping>): void;
    removeMapping(key: string, value: string): void;
    removeMappings(mappings: Mapping[]): void;
    getMappings(): Mapping[];
    getKeyMappings(value: string): string[];
    addSkip(skip: string): void;
    addSkips(skips: string[]): void;
    removeSkip(skip: string): void;
    removeSkips(skips: string[]): void;
    getSkips(): string[];
    computeStringPosPointers(needle: string): StrPosPointer;
    freeStringPosPointers(pointer: StrPosPointer): void;
    indexOfSync(input: string, needle: string, options?: Partial<IIndexOfOptions>): IResult;
    indexOf(input: string, needle: string, options?: Partial<IIndexOfOptions>): Promise<IResult>;
    lastIndexOfSync(input: string, needle: string, options?: Omit<Partial<IIndexOfOptions>, 'startFromEnd'>): IResult;
    lastIndexOf(input: string, needle: string, options?: Omit<Partial<IIndexOfOptions>, 'startFromEnd'>): Promise<IResult>;
    containsSync(input: string, needle: string, options?: IIndexOfOptions): boolean;
    contains(input: string, needle: string, options?: IIndexOfOptions): Promise<boolean>;
    private _validateValue;
    private _addMappings;
    private _removeMappings;
    private _addSkips;
    private _removeSkips;
    private _rebuildInstance;
    private _fillDefaultOptions;
}
//# sourceMappingURL=wrapper.d.ts.map