import { AfterViewInit, ElementRef, Injector, Renderer2 } from '@angular/core';
import { ResizeEvent } from 'angular-resizable-element';
import { BehaviorSubject, Observable } from 'rxjs';
import { Router } from '@angular/router';
import { ILayoutManagerComponent } from '../../../interfaces/layout-manager-component.interface';
import { OFormLayoutManagerMode } from '../../../interfaces/o-form-layout-manager-mode.interface';
import { DialogService } from '../../../services/dialog.service';
import { OFormLayoutManagerComponentStateClass } from '../../../services/state/o-form-layout-manager-component-state.class';
import { OFormLayoutManagerContentDirective } from '../directives/o-form-layout-manager-content.directive';
import { OFormLayoutManagerBase } from '../o-form-layout-manager-base.class';
import type { FormLayoutDetailComponentData } from '../../../types/form-layout-detail-component-data.type';
import * as i0 from "@angular/core";
export declare const DEFAULT_INPUTS_O_FORM_LAYOUT_SPLIT_PANE: string[];
export declare const DEFAULT_OUTPUTS_O_FORM_LAYOUT_SPLIT_PANE: any[];
export declare class OFormLayoutSplitPaneComponent implements AfterViewInit, OFormLayoutManagerMode {
    protected injector: Injector;
    protected elementRef: ElementRef;
    renderer: Renderer2;
    formLayoutManager: OFormLayoutManagerBase;
    data: FormLayoutDetailComponentData;
    showLoading: BehaviorSubject<boolean>;
    protected router: Router;
    contentDirective: OFormLayoutManagerContentDirective;
    protected mainWrapper: ElementRef;
    protected detailWrapper: ElementRef;
    protected _options: any;
    set options(value: any);
    protected dialogService: DialogService;
    constructor(injector: Injector, elementRef: ElementRef, renderer: Renderer2, formLayoutManager: OFormLayoutManagerBase);
    get state(): OFormLayoutManagerComponentStateClass;
    ngAfterViewInit(): void;
    protected setOption(el: any, optionName: string, propertyName: string): void;
    getFormCacheData(): FormLayoutDetailComponentData;
    setModifiedState(formAttr: string, modified: boolean, confirmExit: boolean): void;
    setDetailComponent(compData: FormLayoutDetailComponentData): void;
    onResizeEnd(property: string, event: ResizeEvent, el: any): void;
    protected createComponent(): void;
    getDataToStore(): any;
    getParams(): any;
    initializeComponentState(): void;
    updateActiveData(data: any): void;
    getRouteOfActiveItem(): any[];
    isMainComponent(comp: ILayoutManagerComponent): boolean;
    openDetail(detail: FormLayoutDetailComponentData): void;
    closeDetail(): void;
    updateNavigation(data: any, keysValues: any, insertionMode?: boolean): void;
    canAddDetailComponent(): boolean | Observable<boolean>;
    getIdOfActiveItem(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<OFormLayoutSplitPaneComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OFormLayoutSplitPaneComponent, "o-form-layout-split-pane", never, { "options": { "alias": "options"; "required": false; }; }, {}, never, ["*"], true, never>;
}
