import { SdOperatorHasData, SdOperatorNoData } from './operator.model';
export type SdFilter<T = any> = SdFilterHasData<T> | SdFilterBetween<T> | SdFilterNoData<T>;
export interface SdFilterHasData<T = any> {
    field: Extract<keyof T, string>;
    operator: Exclude<SdOperatorHasData, 'BETWEEN'>;
    data: any;
}
export interface SdFilterBetween<T = any> {
    field: Extract<keyof T, string>;
    operator: 'BETWEEN';
    data: {
        from: any;
        to: any;
    };
}
export interface SdFilterNoData<T = any> {
    field: Extract<keyof T, string>;
    operator: SdOperatorNoData;
}
