import { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay'; import { TemplateRef } from '@angular/core'; import * as i0 from "@angular/core"; /** Animation states for the dropdown */ type DropdownAnimationState = 'closed' | 'opening' | 'open' | 'closing'; /** Dropdown X position options for CDK overlay positioning */ export type DropdownXPosition = 'start' | 'center' | 'end'; /** Dropdown Y position options for CDK overlay positioning */ export type DropdownYPosition = 'top' | 'bottom' | 'center'; /** Dropdown fallback position configuration */ export interface DropdownFallbackPositions { /** Enable automatic fallback positions */ enabled: boolean; /** Custom fallback positions - if not provided, default fallbacks will be used */ positions?: ConnectedPosition[]; } /** * DropdownTrigger - Trigger element for opening dropdown content * * @remarks * This component acts as the trigger that opens/closes the dropdown content. * It can contain any content (buttons, avatars, text, icons, etc.). * Uses CdkConnectedOverlay for positioning and management. * * @example * ```html * * * * * * Item 1 * * * ``` */ export declare class DropdownTriggerComponent { /** 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; /** Event emitted when dropdown is opened */ opened: import("@angular/core").OutputEmitterRef; /** Event emitted when dropdown is closed */ closed: import("@angular/core").OutputEmitterRef; /** * Stop event propagation for activation events * @defaultValue false */ stopPropagation: import("@angular/core").InputSignal; /** * Tab index for the trigger wrapper * @defaultValue -1 */ triggerTabIndex: import("@angular/core").InputSignal; /** * Event emitted on click */ clicked: import("@angular/core").OutputEmitterRef; /** * Event emitted on pointer down */ pointerDown: import("@angular/core").OutputEmitterRef; /** * Event emitted on Enter keydown */ keyDownEnter: import("@angular/core").OutputEmitterRef; /** * Event emitted on Space keydown */ keyDownSpace: import("@angular/core").OutputEmitterRef; /** * Event emitted on activation (click or keyboard) */ triggered: import("@angular/core").OutputEmitterRef; /** Current open state */ isOpen: import("@angular/core").WritableSignal; /** Internal state to control overlay visibility (keeps overlay open during close animation) */ overlayOpen: import("@angular/core").WritableSignal; /** Current animation state */ animationState: import("@angular/core").WritableSignal; /** Current active position configuration */ currentPosition: import("@angular/core").WritableSignal; /** * Computed animation direction based on current position * Returns the appropriate direction: 'top', 'bottom', 'left', or 'right' */ animationDirection: import("@angular/core").Signal<"top" | "bottom" | "left" | "right">; /** * Static class mappings for different animation directions * Maps animation directions to complete Tailwind class names * All class names are static and detectable by Tailwind at build time */ private readonly animationClassMap; /** * Computed class string for animations * Applies the correct animation based on position using static class names */ animationClasses: import("@angular/core").Signal; /** Content template reference */ contentTemplate: TemplateRef | null; /** * Computed positions array based on signal inputs */ positions: import("@angular/core").Signal; /** * Generate default fallback positions based on the primary position * Provides comprehensive fallback coverage for all space constraints */ 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 dropdown positions */ private addStandardPositions; /** * Add center alignment fallbacks */ private addCenterFallbacks; /** * Check if position is duplicate */ private isPositionDuplicate; /** * Set the content template to be displayed in the overlay */ setContentTemplate(template: TemplateRef): void; /** * Toggle the dropdown open/close state */ toggle(): void; /** * @internal * Handle click activation */ handleClick(event: MouseEvent): void; /** * @internal * Handle pointer down activation */ handlePointerDown(event: PointerEvent): void; /** * @internal * Handle Enter key activation */ handleKeyDownEnter(event: Event): void; /** * @internal * Handle Space key activation */ handleKeyDownSpace(event: Event): void; /** * Open the dropdown * Sets up overlay with animation and emits opened event */ open(): void; /** * Close the dropdown * Triggers closing animation and emits closed event */ close(): void; /** * Handle animation end events * Completes state transitions when animations finish */ onAnimationEnd(event: AnimationEvent): void; /** * Handle position changes from CDK overlay */ onPositionChange(position: ConnectedOverlayPositionChange): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};