import { Observable } from 'rxjs';
import { UnitBase } from './abstract-unit-base';
import { KOf } from '../models';
/**
 * Selection offers the ability to operate on nested properties in a Unit's value.
 *
 * Selection is a simple construct that operates on a nested property in
 * the non-primitive Units' value, ie: ListUnit, GenericUnit and DictUnit.
 *
 * See {@link https://docs.activejs.dev/utilities/selection} for more details.
 *
 * @category 4. Utility
 */
export declare class Selection<T, U extends UnitBase<any> = UnitBase<any>, K extends KOf<T> = KOf<T>> {
    private unit;
    private path;
    constructor(unit: U, path: (string | number)[]);
    value(): T | undefined;
    asObservable(): Observable<T | undefined>;
}
