import { EventEmitter, OnInit } from '@angular/core';
import { MatDialog, MatSnackBar, MatSnackBarConfig } from '@angular/material';
import { SchemaFlowService } from '../svc/schema-flow';
import { ForgeJSONSchema } from '@lowcodeunit/core';
export declare class JSONSchemaEditorComponent implements OnInit {
    snackBar: MatSnackBar;
    dialog: MatDialog;
    protected schemaFlowSvc: SchemaFlowService;
    protected snackBarConfig: MatSnackBarConfig;
    CurrentlyEditingSettingsFor: ForgeJSONSchema;
    ContainsFunctions: boolean;
    Nested: boolean;
    ParentTitle: string;
    PropertyKey: string;
    HangingIncommingSchemas: any[];
    HangingOutgoingSchemas: any[];
    OutgoingSchemas: any[];
    SchemaType: string;
    Changed: EventEmitter<ForgeJSONSchema>;
    DisableEditChanged: EventEmitter<boolean>;
    UsingHangingSchemaChanged: EventEmitter<string>;
    UsingExistingOutgoingChanged: EventEmitter<string>;
    PropertyAdded: EventEmitter<ForgeJSONSchema>;
    PropertyTypeChanged: EventEmitter<string>;
    PropertyDeleted: EventEmitter<ForgeJSONSchema>;
    Schema: ForgeJSONSchema;
    FlowID: string;
    Schemas: ForgeJSONSchema[];
    ShowValidations: boolean;
    DisableSchemaEdit: boolean;
    FlowSchemas: ForgeJSONSchema[];
    OrgSchemas: ForgeJSONSchema[];
    SelectedExistingSchemaType: string;
    NewProperty: ForgeJSONSchema;
    NewPropertyTypeError: string;
    NewPropertyTitleError: string;
    SchemaNameValid: boolean;
    ShowSchema: boolean;
    SelectedExistingSchema: ForgeJSONSchema;
    SelectedExistingOutgoing: any;
    SelectedHangingSchema: any;
    SortedProperties: string[];
    UsingHangingSchema: string;
    UsingExistingOutgoing: string;
    constructor(snackBar: MatSnackBar, dialog: MatDialog, schemaFlowSvc: SchemaFlowService);
    ngOnChanges(): void;
    ngOnInit(): void;
    SelectedExistingSchemaTypeChanged(ev: any): void;
    AddNewSchema(): void;
    AddProperty(): void;
    CheckSchemaName(newName: string): void;
    EmitChange(): void;
    EmitDisableEditChange(): void;
    EmitPropertyAdded(): void;
    EmitPropertyTypeChanged(propertyId: string): void;
    EmitPropertyDeleted(): void;
    EmitUsingHangingSchemaChanged(): void;
    EmitUsingExistingOutgoingChanged(): void;
    ExistingSchemaChanged(): void;
    ExistingSchemaCopy(): void;
    ExistingSchemaUse(): void;
    IsEditingSettings(prop: ForgeJSONSchema): boolean;
    PivotProperties(): import("@lowcodeunit/common/lib/common/json-schema").JSONSchema[];
    SchemaPropertyTypeChanged(property: any): void;
    ShowHangingIncommingSchemas(): boolean;
    ShowHangingOutgoingSchemas(): boolean;
    PropertySchemaChanged(prop: ForgeJSONSchema, schema: ForgeJSONSchema): void;
    RemoveProperty(prop: any): void;
    SetEditingSettings(prop: ForgeJSONSchema): void;
    SortSuccess(event: any): void;
    ValueChanged(root: any, prop: string, value: any): void;
    private processInputChanged;
    private sortSchemas;
}
