import { Encoding } from "./Encoding";
import { SearchSubject } from "./SearchSubject";
/**
 * Sampler for encodings.
 *
 * @author Mitchell Olsthoorn
 * @author Dimitri Stallenberg
 */
export declare abstract class EncodingSampler<T extends Encoding> {
    protected _subject: SearchSubject<T>;
    /**
     * Constructor
     * @param subject     the subject
     */
    protected constructor(subject: SearchSubject<T>);
    /**
     * Sample an encoding.
     */
    abstract sample(): T;
    get subject(): SearchSubject<T>;
    set subject(value: SearchSubject<T>);
}
//# sourceMappingURL=EncodingSampler.d.ts.map