/// <reference types="angular" />
import { filters, services } from 'typescript-angular-utilities';
import * as angular from 'angular';
import __object = services.object;
import __transform = services.transform;
export interface ISelectFilterSettingsOld<TDataType, TFilterType> {
    valueSelector: string | {
        (item: TDataType): any;
    };
    comparer?: IEqualityFunctionOld<TFilterType>;
    options?: any[];
    getOptions?: {
        (): angular.IPromise<any[]>;
    };
    label?: string;
    displayNameSelector?: string | {
        (item: any): string;
    };
    nullOption?: string;
}
export interface ISelectFilterOld<T> extends filters.ISerializableFilter<any> {
    selectedValue: any;
}
export interface IEqualityFunctionOld<TFilterType> {
    (item1: TFilterType, item2: TFilterType): boolean;
}
export declare class SelectFilterOld<TDataType, TFilterType> extends filters.SerializableFilter<TFilterType> implements ISelectFilterOld<TDataType> {
    type: string;
    private _selectedValue;
    private valueSelector;
    private comparer;
    options: any[];
    getOptions: {
        (): angular.IPromise<any[]>;
    };
    label: string;
    displayNameSelector: string | {
        (item: any): string;
    };
    nullOption: string;
    template: string;
    object: __object.IObjectUtility;
    transformService: __transform.ITransformService;
    selectedValue: TFilterType;
    constructor(settings: ISelectFilterSettingsOld<TDataType, TFilterType>, object: __object.IObjectUtility, transformService: __transform.ITransformService);
    filter(item: TDataType): boolean;
    serialize(): TFilterType;
    private getValue(item);
}
