import type { Condition, Conjunction, Filter, ReducerFilters, Statement } from './typings';
export declare function defaultReducer<T>(state: ReducerFilters<T>, action: Action<T>): ReducerFilters<T>;
export declare type Action<T> = {
    type: 'conjunction';
    conjunction: Conjunction;
} | {
    type: 'filter';
    filter: Filter<T>;
    index: number;
} | {
    type: 'condition';
    condition: Condition;
    index: number;
} | {
    type: 'value';
    value: T;
    index: number;
} | {
    type: 'newStatement';
    filter: Filter<T>;
} | {
    type: 'filtersReset';
    conjunction: Conjunction;
} | {
    type: 'setStatements';
    statements: Array<Statement<T>>;
} | {
    type: 'duplicateStatement';
    index: number;
} | {
    type: 'deleteStatement';
    index: number;
} | {
    type: 'apply';
};
