import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { AppState } from '../states/app.state';
import { Mapper, MapTree, modelService, modelUI } from './common.model';
export declare class AreaModel extends modelService {
    attributes?: AreaAttributes;
    links?: AreaLinks;
    relationships?: AreaRelations;
}
export declare class AreaAttributes {
    name: string;
    description?: string;
    parent_path: string;
    parent_path_resolved: string;
}
export declare class AreaLinks {
    related: string;
    self: string;
}
export declare class AreaRelations {
    space: {
        data: {
            id: string;
            type: string;
        };
        links: {
            self: string;
        };
    };
    workitems: {
        links: {
            related: string;
        };
    };
}
export interface AreaUI extends modelUI {
    parentPath: string;
    parentPathResolved: string;
}
export interface AreaService extends AreaModel {
}
export declare class AreaMapper implements Mapper<AreaService, AreaUI> {
    serviceToUiMapTree: MapTree;
    uiToServiceMapTree: MapTree;
    toUIModel(arg: AreaService): AreaUI;
    toServiceModel(arg: AreaUI): AreaService;
}
export declare class AreaQuery {
    private store;
    private plannerSelector;
    private areaSelector;
    private areaSource;
    constructor(store: Store<AppState>);
    getAreas(): Observable<AreaUI[]>;
    getAreaIds(): Observable<string[]>;
    getAreaNames(): Observable<string[]>;
    getAreaObservableById(id: string): Observable<AreaUI>;
}
