import { AnimationEvent } from '@angular/animations'; import { ConfigurableFocusTrapFactory, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y'; import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, DomPortal, TemplatePortal } from '@angular/cdk/portal'; import { ChangeDetectorRef, ComponentRef, ElementRef, EmbeddedViewRef, EventEmitter } from '@angular/core'; import { CovalentSideSheetConfig } from './side-sheet.config'; import * as i0 from "@angular/core"; export declare function _getFocusedElementPierceShadowDom(): HTMLElement | null; /** * Base class for the `CovalentSideSheetContainer`. The base class does not implement * animations as these are left to implementers of the side-sheet container. */ export declare abstract class _CovalentSideSheetContainerBase extends BasePortalOutlet { protected _elementRef: ElementRef; protected _focusTrapFactory: ConfigurableFocusTrapFactory; protected _changeDetectorRef: ChangeDetectorRef; /** The side-sheet configuration. */ _config: CovalentSideSheetConfig; private _focusMonitor?; protected _document: Document; /** The portal outlet inside of this container into which the side-sheet content will be loaded. */ _portalOutlet: CdkPortalOutlet; /** The class that traps and manages focus within the side-sheet. */ private _focusTrap; /** Emits when an animation state changes. */ _animationStateChanged: EventEmitter<{ state: 'opened' | 'opening' | 'closing' | 'closed'; totalTime: number; }>; /** Element that was focused before the side-sheet was opened. Save this to restore upon close. */ private _elementFocusedBeforeSideSheetWasOpened; /** * Type of interaction that led to the side-sheet being closed. This is used to determine * whether the focus style will be applied when returning focus to its original location * after the side-sheet is closed. */ _closeInteractionType: FocusOrigin | null; /** ID of the element that should be considered as the side-sheet's label. */ _ariaLabelledBy: string | null; /** ID for the container DOM element. */ _id: string; constructor(_elementRef: ElementRef, _focusTrapFactory: ConfigurableFocusTrapFactory, _changeDetectorRef: ChangeDetectorRef, _document: any, /** The side-sheet configuration. */ _config: CovalentSideSheetConfig, _focusMonitor?: FocusMonitor | undefined); /** Starts the side-sheet exit animation. */ abstract _startExitAnimation(): void; /** Initializes the side-sheet container with the attached content. */ _initializeWithAttachedContent(): void; /** * Attach a ComponentPortal as content to this side-sheet container. * @param portal Portal to be attached as the side-sheet content. */ attachComponentPortal(portal: ComponentPortal): ComponentRef; /** * Attach a TemplatePortal as content to this side-sheet container. * @param portal Portal to be attached as the side-sheet content. */ attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef; /** * Attaches a DOM portal to the side-sheet container. * @param portal Portal to be attached. * @deprecated To be turned into a method. */ attachDomPortal: (portal: DomPortal) => void; /** Moves focus back into the side-sheet if it was moved out. */ _recaptureFocus(): void; /** * Moves the focus inside the focus trap. When autoFocus is not set to 'side-sheet', if focus * cannot be moved then focus will go to the side-sheet container. */ protected _trapFocus(): void; /** Restores focus to the element that was focused before the side-sheet opened. */ protected _restoreFocus(): void; /** Sets up the focus trap. */ private _setupFocusTrap; /** Captures the element that was focused before the side-sheet was opened. */ private _capturePreviouslyFocusedElement; /** Focuses the side-sheet container. */ private _focusSideSheetContainer; /** Returns whether focus is inside the side-sheet. */ private _containsFocus; static ɵfac: i0.ɵɵFactoryDeclaration<_CovalentSideSheetContainerBase, [null, null, null, { optional: true; }, null, null]>; static ɵdir: i0.ɵɵDirectiveDeclaration<_CovalentSideSheetContainerBase, never, never, {}, {}, never, never, false, never>; } /** * Internal component that wraps the generated side-sheet content. * This animation below is the only reason for duplicating most of the Material dialog code */ export declare class CovalentSideSheetContainerComponent extends _CovalentSideSheetContainerBase { /** State of the side-sheet animation. */ _state: 'void' | 'enter' | 'exit'; tdSideSheetContainerClass: boolean; tabIndex: number; arialModal: boolean; idAttr: string; roleAttr: import("@angular/material/dialog").DialogRole | undefined; arialLabelByAttr: string | null; arialDescribeByAttr: string | null; arialLabelAttr: string | null | undefined; get sideSheetAnimationState(): "enter" | "void" | "exit"; onAnimateStart($event: AnimationEvent): void; onAnimateDone($event: AnimationEvent): void; /** Callback, invoked whenever an animation on the host completes. */ _onAnimationDone({ toState, totalTime }: AnimationEvent): void; /** Callback, invoked when an animation on the host starts. */ _onAnimationStart({ toState, totalTime }: AnimationEvent): void; /** Starts the side-sheet exit animation. */ _startExitAnimation(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }