import { EventEmitter } from '../../stencil-public-runtime';
import { IgcContextMenuMetadata, IgcDockManagerComponentBase, IgcDropTargetPaneInfo, IgcPaneNavigatorMetadata } from './dockmanager.interfaces';
import { IgcActivePaneEventArgs, IgcContentPane, IgcDockManagerLayout, IgcDockManagerPane, IgcDockManagerPoint, IgcDockManagerResourceStrings, IgcFloatingPaneResizeEventArgs, IgcFloatingPaneResizeMoveEventArgs, IgcPaneCloseEventArgs, IgcPaneDragEndEventArgs, IgcPaneDragOverEventArgs, IgcPaneDragStartEventArgs, IgcPaneHeaderConnectionEventArgs, IgcPanePinnedEventArgs, IgcSplitPane, IgcTabGroupPane, IgcTabHeaderConnectionEventArgs } from './dockmanager.public-interfaces';
/**
 * @hidden
 */
export declare class IgcDockManager implements IgcDockManagerComponentBase {
  private service;
  private keyboardService;
  private panesElementMap;
  private contentPanesElementMap;
  private tabHeadersMap;
  private unpinnedHeadersMap;
  private activePaneInternalSet;
  private domObserver;
  private showDockingIndicators;
  private shouldMovePane;
  private scheduledCallbacks;
  private paneToFocus;
  private dockedPanesContainer;
  documentOnlyDrag: boolean;
  element: HTMLElement;
  dropTargetPaneInfo: IgcDropTargetPaneInfo;
  flyoutPane: IgcContentPane;
  flyoutPaneChanged(newValue: IgcContentPane): void;
  floatingPaneZIndicesMap: Map<IgcSplitPane, number>;
  contextMenuMeta: IgcContextMenuMetadata;
  dropShadowRect: DOMRect;
  navigationPaneMeta: IgcPaneNavigatorMetadata;
  allowMaximize: boolean;
  maximizedPane: IgcContentPane | IgcSplitPane | IgcTabGroupPane;
  resourceStrings: IgcDockManagerResourceStrings;
  allowFloatingPanesResize: boolean;
  disableKeyboardNavigation: boolean;
  /**
   * The layout configuration of the Dock Manager.
   */
  layout: IgcDockManagerLayout;
  layoutChanged(): void;
  draggedPane: IgcContentPane | IgcSplitPane | IgcTabGroupPane;
  draggedPaneChanged(): void;
  dropPosition: IgcDockManagerPoint;
  dropPositionChanged(): void;
  activePane: IgcContentPane;
  activePaneChange(newValue: IgcContentPane, oldValue: IgcContentPane): void;
  paneHeaderConnected: EventEmitter<IgcPaneHeaderConnectionEventArgs>;
  paneHeaderDisconnected: EventEmitter<IgcPaneHeaderConnectionEventArgs>;
  tabHeaderConnected: EventEmitter<IgcTabHeaderConnectionEventArgs>;
  tabHeaderDisconnected: EventEmitter<IgcTabHeaderConnectionEventArgs>;
  splitterResizeStart: EventEmitter;
  splitterResizeEnd: EventEmitter;
  paneClose: EventEmitter<IgcPaneCloseEventArgs>;
  panePinnedToggle: EventEmitter<IgcPanePinnedEventArgs>;
  activePaneChanged: EventEmitter<IgcActivePaneEventArgs>;
  paneDragStart: EventEmitter<IgcPaneDragStartEventArgs>;
  paneDragOver: EventEmitter<IgcPaneDragOverEventArgs>;
  paneDragEnd: EventEmitter<IgcPaneDragEndEventArgs>;
  floatingPaneResizeMove: EventEmitter<IgcFloatingPaneResizeMoveEventArgs>;
  floatingPaneResizeEnd: EventEmitter<IgcFloatingPaneResizeEventArgs>;
  floatingPaneResizeStart: EventEmitter<IgcFloatingPaneResizeEventArgs>;
  handleFocusOut(_event: Event): void;
  handleKeyDown(event: KeyboardEvent): void;
  dropPane(): Promise<boolean>;
  removePane(pane: IgcDockManagerPane): Promise<void>;
  connectedCallback(): void;
  componentWillLoad(): void;
  componentDidRender(): void;
  disconnectedCallback(): void;
  focusElement(): void;
  private getRootNode;
  private scheduleAfterRender;
  private handleTabHeaderFocus;
  private handleContentPaneFocus;
  private handleUnpinnedHeaderFocus;
  private setFocus;
  private setActivePane;
  private removeCustomContentEventListeners;
  private handleCustomContentFocusIn;
  private mutationCallback;
  private _isValidDrop;
  get isValidDrop(): boolean;
  set isValidDrop(value: boolean);
  private handleShadowRootFocusOut;
  private handleFlyoutSplitterResizeEnd;
  private handleSplitterResizeStart;
  private handleSplitterResizeEnd;
  private clearActivePane;
  private handlePinToggle;
  private handlePaneClose;
  private handleFloatingPaneClose;
  private handleMaximize;
  private handleUnpinnedTabMouseDown;
  private handlePaneFlyout;
  private handleUnpinnedTabKeyDown;
  private handlePaneDragStart;
  private handlePaneDragMove;
  private paneDragMoved;
  private handlePaneDragEnd;
  private handleTabHeaderDragStart;
  private handleTabHeaderDragMove;
  private handleTabHeaderDragEnd;
  private handleFloatingPaneResizeStart;
  private handleFloatingPaneResizeMove;
  private handleFloatingPaneResizeEnd;
  private handleDropPositionChange;
  private getDropTargetParentRect;
  private handlePaneContentMouseDown;
  private handlePaneHeaderMouseDown;
  private handleTabHeaderMouseDown;
  private handleFloatingPaneMouseDown;
  private handleTabIconClick;
  private handleContextMenuClosed;
  private handleTabSelectedIndexChanged;
  private handleHiddenTabSelected;
  private handleSelectedTabOutOfView;
  private handleTabIconKeyDown;
  private handleTabSelectedChanged;
  private emitPaneHeaderConnected;
  private emitPaneHeaderDisconnected;
  private emitTabHeaderConnected;
  private emitTabHeaderDisconnected;
  private resolveAllowMaximize;
  private renderContentPane;
  private renderSplitter;
  private renderDocumentHost;
  private renderTabGroup;
  private renderTabPanel;
  private renderTabHeader;
  private renderSplitPane;
  private renderUnpinnedTabArea;
  private renderFlyoutPane;
  private renderFloatingPanes;
  private renderRootDockingIndicator;
  private renderDockingIndicators;
  private renderContextMenu;
  private renderDropShadow;
  handlePaneNavigatorClosed(ev: CustomEvent<IgcContentPane>): void;
  renderPaneNavigator(): any;
  render(): any;
}
