import { AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';
import { MatSelectChange } from '@angular/material/select';
import { OverlayService } from '@aztrix/components/overlay';
import { iconNameForContextType } from '@aztrix/helpers';
import { Context, ContextType, MutableProperty, Profile, Property, PropertyType } from '@aztrix/models';
import { ContextsService, ProfilesService } from '@aztrix/sdk';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class CreatePropertyComponent implements OnInit, AfterViewInit {
    private _profilesService;
    private _contextsService;
    private _changeDetector;
    private _overlay;
    profile: Profile;
    property: MutableProperty;
    context: {
        type: ContextType;
        label?: string;
    };
    didCreate: (property: Property | undefined) => void;
    possibleContexts: {
        context: Context;
        selected: boolean;
    }[];
    iconNameForContextType: typeof iconNameForContextType;
    form: UntypedFormGroup;
    error: string;
    selectablePropertyTypes: PropertyType[];
    saveOnAny: boolean;
    constructor(_profilesService: ProfilesService, _contextsService: ContextsService, _changeDetector: ChangeDetectorRef, _overlay: OverlayService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    changeProperty(changeEvent: MatSelectChange): void;
    selectContext(context: Context): void;
    executeSaveAction(): Observable<any>;
    private _savePropertyToProfile;
    private _selectInitialContext;
    private selectedContext;
    private _updatePossibleContexts;
    static ɵfac: i0.ɵɵFactoryDeclaration<CreatePropertyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CreatePropertyComponent, "ng-component", never, {}, {}, never, never, false, never>;
}
