import { Observable } from 'rxjs';
import { Query, QueryRaw, QueryWhere } from 'blow-query';
export declare function get(obj: any, key: string, defaultValue?: any): any;
export declare function set(obj: any, key: string, value: any): any;
export declare function has(obj: any, key: string): boolean;
export declare function dropReference(obj: any): any;
export declare function limit<T>(data$: Observable<T>, limit: number): Observable<T>;
export declare function skip<T>(data$: Observable<T>, skip: number): Observable<T>;
export declare function sort<T>(data$: Observable<T>, sort: {
    [key: string]: number;
}): Observable<T>;
export declare function prepareQuery(query: QueryRaw | Query): QueryRaw;
export declare function where<T>(data$: Observable<T>, where: QueryWhere, invert?: boolean): Observable<T>;
export declare function filter<T>(data$: Observable<T>, query: QueryRaw | Query): Observable<T>;
