import { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';
import { OverlayContentComponent } from '../overlay-content/overlay-content.component';
import { OverlayTriggerComponent } from '../overlay-trigger/overlay-trigger.component';
import * as i0 from "@angular/core";
/** Overlay X position options for CDK overlay positioning */
export type OverlayXPosition = 'start' | 'center' | 'end';
/** Overlay Y position options for CDK overlay positioning */
export type OverlayYPosition = 'top' | 'bottom' | 'center';
/** Overlay fallback position configuration */
export interface OverlayFallbackPositions {
/** Enable automatic fallback positions */
enabled: boolean;
/** Custom fallback positions - if not provided, default fallbacks will be used */
positions?: ConnectedPosition[];
}
/**
* Overlay - Shell component for creating custom overlays with positioning
*
* @remarks
* This component provides the infrastructure for creating custom overlays with proper positioning,
* accessibility, and animation support. It's designed to be used as a shell where the consumer
* has full control over the trigger and content styling.
*
* The overlay is controlled through methods: Use `open()`, `close()`, and `toggle()` methods programmatically
* via template reference variables.
*
* @example
* ```html
*
*
*
*
*
*
*
Content
*
*
*
*
*
*
*
*
*
*
Content
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Content will match trigger width
*
*
* ```
*/
export declare class OverlayComponent {
trigger: import("@angular/core").Signal;
content: import("@angular/core").Signal;
/** Offset X in pixels */
offsetX: import("@angular/core").InputSignal;
/** Offset Y in pixels */
offsetY: import("@angular/core").InputSignal;
/** Origin X position */
originX: import("@angular/core").InputSignal;
/** Origin Y position */
originY: import("@angular/core").InputSignal;
/** Overlay X position */
overlayX: import("@angular/core").InputSignal;
/** Overlay Y position */
overlayY: import("@angular/core").InputSignal;
/** Fallback positions configuration */
fallbacks: import("@angular/core").InputSignal;
/** Whether to sync the overlay content width with the trigger width */
syncWidth: import("@angular/core").InputSignal;
/** Internal signal to track overlay state */
readonly _isOpen: import("@angular/core").WritableSignal;
/** Internal signal to track the synced width */
readonly _syncedWidth: import("@angular/core").WritableSignal;
/** Current active position configuration */
currentPosition: import("@angular/core").WritableSignal;
/** Event emitted when overlay is opened */
opened: import("@angular/core").OutputEmitterRef;
/** Event emitted when overlay is closed */
closed: import("@angular/core").OutputEmitterRef;
constructor();
private readonly setOverlayEffect;
/**
* Computed positions array based on signal inputs
*/
positions: import("@angular/core").Signal;
/**
* Generate default fallback positions based on the primary position
*/
private generateDefaultFallbacks;
/**
* Helper to flip Y position
*/
private getOppositeY;
/**
* Helper to flip X position
*/
private getOppositeX;
/**
* Helper to create position variant
*/
private createPosition;
/**
* Add axis flip fallbacks
*/
private addAxisFlips;
/**
* Add standard overlay positions
*/
private addStandardPositions;
/**
* Check if position is duplicate
*/
private isPositionDuplicate;
/**
* Open the overlay
*/
open(): void;
/**
* Close the overlay
*/
close(): void;
/**
* Toggle the overlay open/close state
*/
toggle(): void;
/**
* Update the synced width based on trigger element width
*/
private updateSyncedWidth;
/**
* Handle position changes from CDK overlay
*/
onPositionChange(position: ConnectedOverlayPositionChange): void;
/**
* Handle click outside to close overlay
*/
onClickOutside(): void;
/**
* Handle window resize to update synced width
*/
onWindowResize(): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}