import { Observable } from "rxjs/Observable";
import "rxjs/add/operator/zip";
import "rxjs/add/operator/do";
import "rxjs/add/operator/debounceTime";
import "rxjs/add/operator/distinct";
import "rxjs/add/operator/switch";
import { FilteringParam, NgrxJsonApiService, Query, ResourceIdentifier } from "ngrx-json-api";
import { CrnkBindingUtils } from "./crnk.binding.utils";
export interface SelectorBindingConfig {
    query: Query;
    filterFactory: (string) => FilteringParam;
    /**
     * Zone to use within ngrx-json-api.
     */
    zoneId?: string;
}
export declare class SelectorBinding {
    private config;
    private utils;
    private querySubject;
    values: Observable<Array<ResourceIdentifier>>;
    private ngrxJsonApiZone;
    constructor(ngrxJsonApiService: NgrxJsonApiService, config: SelectorBindingConfig, utils: CrnkBindingUtils);
    complete(event: any): void;
}
