/*!
 * Copyright Sysdoc @ 2019
 */
/// <reference types="react" />
import { IModel } from "@sysdoc/utilities";
import { IRefinerDelegate } from "./IRefinerDelegate";
import { RefinerType } from "./RefinerType";
export interface IRefiner<T> extends IModel {
    refinerLabel?: string;
    delegate: IRefinerDelegate;
    ignoreKey?: boolean;
    label: string | React.ReactNode;
    isReset: boolean;
    isReady?: boolean;
    isSingle?: boolean;
    isExact: boolean;
    refinerType: RefinerType;
    updateOnChange?: boolean;
    allowRefinement: boolean;
    type: number;
    value: T;
    key: string;
    placeholder?: string;
    className?: string;
    clearChanges(): void;
    onUpdateSearch(): void;
    getValueForQuery(): string;
    extractValueFromQuery(val: string): T;
    getValueForHash(): string;
}
