import { ReactiveControllerHost } from 'lit'; import { BaseController } from './base.controller.js'; export type AnimationState = 'hidden' | 'showing' | 'visible' | 'hiding'; /** * Controller for managing show/hide animation states. * Provides a state machine for coordinating CSS transitions. * * @example * ```ts * class MyModal extends LitElement { * private animation = new AnimationController(this); * * async open() { * await this.animation.show(); * } * * async close() { * await this.animation.hide(); * } * * render() { * return html` * * `; * } * } * ``` */ export interface AnimationControllerOptions { showDuration?: number; hideDuration?: number; } export declare class AnimationController extends BaseController { private _state; private showDuration; private hideDuration; constructor(host: ReactiveControllerHost, options?: AnimationControllerOptions | number); get state(): AnimationState; get isVisible(): boolean; get isHidden(): boolean; show(): Promise; hide(): Promise; toggle(): Promise; private waitForTransition; } //# sourceMappingURL=animation.controller.d.ts.map