/**
 * Surfaces Positioning
 *
 * Handles positioning for different slot types using CSS for static slots
 * and Floating UI for adjacent slots.
 */
import type { AnimationType, MountConstraints, PositionConfig, StaticSurfaceSlot, SurfaceSlot } from './types';
/**
 * CSS styles for static surface slots.
 */
export declare const STATIC_SLOT_STYLES: Record<StaticSurfaceSlot, Record<string, string>>;
/**
 * Animation keyframes for different animation types.
 */
export declare const ANIMATION_KEYFRAMES: Record<AnimationType, Keyframe[]>;
/**
 * Animation options.
 */
export declare const ANIMATION_OPTIONS: KeyframeAnimationOptions;
/**
 * Apply static slot positioning to an element.
 */
export declare function applyStaticSlotStyles(element: HTMLElement, slot: StaticSurfaceSlot, constraints?: MountConstraints): void;
/**
 * Set up adjacent slot positioning using Floating UI.
 * Returns a cleanup function.
 */
export declare function setupAdjacentPositioning(container: HTMLElement, anchorEl: HTMLElement, config: PositionConfig): () => void;
/**
 * Set up inline slot positioning.
 * Inline slots render content inside the anchor element.
 */
export declare function setupInlinePositioning(container: HTMLElement, anchorEl: HTMLElement, position?: 'prepend' | 'append'): () => void;
/**
 * Play enter animation on an element.
 */
export declare function playEnterAnimation(element: HTMLElement, animationType: AnimationType): Animation | null;
/**
 * Play exit animation on an element.
 * Returns a promise that resolves when the animation completes.
 */
export declare function playExitAnimation(element: HTMLElement, animationType: AnimationType): Promise<void>;
/**
 * Create and style a surface container element.
 */
export declare function createSurfaceContainer(slot: SurfaceSlot, id: string): HTMLElement;
/**
 * Get the z-index for a slot type.
 */
export declare function getSlotZIndex(slot: SurfaceSlot): number;
