import { TemplateRef } from '@angular/core';
import * as i0 from "@angular/core";
/** Dropdown X position options for CDK overlay positioning */
export type DialogXPosition = 'start' | 'center' | 'end';
/** Dropdown Y position options for CDK overlay positioning */
export type DialogYPosition = 'top' | 'center' | 'bottom';
/**
* CSS class generator for dialog component variants
* Uses carefully selected DaisyUI classes that don't conflict with CDK positioning
* @internal
*/
export declare const dialogComponent: (props?: ({
width?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
/** Possible width values for the dialog component */
export type DialogWidthProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | null | undefined;
/** Animation states for the dialog */
type AnimationState = 'closed' | 'open';
/** Configuration properties for the dialog component */
export type DialogProps = {
width?: DialogWidthProps;
};
/**
* A customizable dialog component using Angular CDK Dialog for declarative usage
*
* @remarks
* This component provides a declarative way to create dialogs with content projection.
* Uses CDK Dialog under the hood to avoid z-index issues with native dialog elements.
*
* @example
* ```html
*
* Confirm Action
*
* Are you sure you want to proceed?
*
*
* Confirm
* Cancel
*
*
* ```
*/
export declare class DialogComponent {
/** @internal Content children to detect what's projected */
private readonly titleComponent;
private readonly subTitleComponent;
/** @internal Signals for conditional styling */
hasTitle: import("@angular/core").WritableSignal;
hasSubTitle: import("@angular/core").WritableSignal;
private readonly destroyRef;
private readonly contentEffect;
/**
* Specifies the maximum width of the dialog content
* @defaultValue 'md'
*/
width: import("@angular/core").InputSignal;
/**
* Controls the horizontal positioning of the dialog (x-axis)
* @defaultValue 'center'
*/
xPosition: import("@angular/core").InputSignal;
/**
* Controls the vertical positioning of the dialog (y-axis)
* @defaultValue 'center'
*/
yPosition: import("@angular/core").InputSignal;
/**
* Controls the visibility state of the dialog
* Supports two-way binding via Angular's model
*/
opened: import("@angular/core").ModelSignal;
/** Event emitted when the dialog closes */
closed: import("@angular/core").OutputEmitterRef;
/** Event emitted when clicking outside the dialog content */
clickOutside: import("@angular/core").OutputEmitterRef;
/**
* Stop event propagation for activation events
* @defaultValue false
*/
stopPropagation: 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;
/** @internal CDK Dialog service */
private readonly dialog;
/** @internal CDK Overlay service for positioning */
private readonly overlay;
/** @internal Reference to the dialog template */
dialogTemplate: import("@angular/core").Signal | undefined>;
/** @internal Reference to the current open dialog */
private dialogRef;
/** @internal Subscriptions for CDK dialog observables so we can clean up on destroy */
private subs;
/** @internal Animation state signal for controlling CSS animations */
private readonly animationState;
/** @internal Flag to track if we're in the process of closing */
private isClosing;
/**
* Computes the data-state attribute value for CSS animations
* @returns Current animation state
* @internal
*/
dataState: import("@angular/core").Signal;
/**
* Computes CSS classes for dialog content based on current configuration
* @returns Combined Tailwind classes string
* @internal
*/
componentClass: import("@angular/core").Signal;
/** @internal Handles open/close state changes */
openedEffect: import("@angular/core").EffectRef;
/**
* Computed CDK Dialog configuration based on x/y axis signals
* Uses CDK's overlay positioning system for full axis control
* @internal
*/
private readonly dialogConfig;
/**
* Opens the dialog using CDK Dialog
* @internal
*/
private openDialog;
/**
* Public method to close the dialog
* Can be called directly from parent components or child components
*/
close(): void;
/**
* Closes the dialog using CDK Dialog
* @internal
*/
private closeDialog;
/**
* Handles animation end events to trigger the actual dialog close
* @internal
*/
onAnimationEnd(event: AnimationEvent): void;
/**
* Clean up CDK subscriptions and ensure the overlay is closed when the component is destroyed
*/
private readonly destroyEffect;
/**
* Handles the close button click
* @internal
*/
handleCloseClick(): 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;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
export {};