import { VueNode as VueNode$1 } from "../_util/type.js";
import { NotificationConfig, NotificationPlacement } from "./interface.js";
import { NotificationConfig as NotificationConfig$1 } from "../config-provider/context.js";
import { CSSProperties } from "vue";
import { CSSMotionProps } from "@v-c/util/dist/utils/transition";

//#region src/notification/util.d.ts
/**
 * Mirror ant-design 6.4.0 getPlacementOffsetStyle: surface positioning via
 * the --notification-top / --notification-bottom CSS variables that the
 * new placement.ts style file consumes. Setting inline `top: Npx` would
 * defeat the holder's `inset` calc and force the holder to occupy the
 * full --notification-margin-edge gap, which manifests as a tall empty
 * strip at the top of the page when scrolled.
 */
declare function getPlacementOffsetStyle(top?: number | string, bottom?: number | string): CSSProperties;
/** @deprecated kept for the message wrapper; routes through getPlacementOffsetStyle. */
declare function getPlacementStyle(_placement: NotificationPlacement, top: number, bottom: number): CSSProperties;
declare function getMotion(prefixCls: string): CSSMotionProps;
declare function getCloseIconConfig(closeIcon: VueNode$1, notificationConfig?: NotificationConfig, notification?: NotificationConfig$1): VueNode$1;
//#endregion
export { getCloseIconConfig, getMotion, getPlacementOffsetStyle, getPlacementStyle };