import type { SideSheetEdge } from './side-sheet.interface';
/**
 * A side-sheet animation's arguments. See `Element.prototype.animate`.
 */
export type SideSheetAnimationArgs = Parameters<Element['animate']>;
/**
 * A collection of side-sheet animations. Each element of the sheet may have
 * multiple animations.
 */
export interface SideSheetAnimation {
    /**
     * Animations for the scrim backdrop.
     */
    scrim?: SideSheetAnimationArgs[];
    /**
     * Animations for the container of the side sheet.
     */
    container?: SideSheetAnimationArgs[];
}
/**
 * The default side-sheet open animation. The `sheetEdge` argument picks the
 * off-screen keyframe direction — `end` slides in from the inline-end edge,
 * `start` slides in from the inline-start edge.
 *
 *  - Scrim: opacity 0 → 0.32 over 500ms, linear.
 *  - Container: translateX(±100%) → translateX(0) over 500ms, Emphasized.
 */
export declare const SideSheetDefaultOpenAnimation: (sheetEdge: SideSheetEdge) => SideSheetAnimation;
/**
 * The default side-sheet close animation. Mirror of `SideSheetDefaultOpenAnimation`
 * with shorter durations and the accelerating easing curve.
 *
 *  - Scrim: opacity 0.32 → 0 over 150ms, linear.
 *  - Container: translateX(0) → translateX(±100%) over 150ms, EmphasizedAccelerate.
 */
export declare const SideSheetDefaultCloseAnimation: (sheetEdge: SideSheetEdge) => SideSheetAnimation;
/**
 * The drag-snap-back animation. Animates the container from the current drag
 * offset back to its resting position (translateX 0), and the scrim from its current
 * (interpolated) opacity back to the peak.
 *
 *  - Scrim: opacity scrimCurrent -> 0.32 over 250ms, linear.
 *  - Container: translateX(fromDx) -> translateX(0) over 250ms,
 *    EmphasizedDecelerate.
 */
export declare const SideSheetDragSnapBackAnimation: (sheetEdge: SideSheetEdge, fromDx: number, scrimCurrent: number) => SideSheetAnimation;
/**
 * The drag-commit-close animation. Animates the container from the current
 * drag offset out the viewport edge, and fades the scrim to 0.
 *
 *  - Scrim: opacity scrimCurrent -> 0 over 200ms, linear.
 *  - Container: translateX(fromDx) -> translateX(±100%) over 200ms,
 *    EmphasizedAccelerate.
 */
export declare const SideSheetDragCommitCloseAnimation: (sheetEdge: SideSheetEdge, fromDx: number, scrimCurrent: number) => SideSheetAnimation;
//# sourceMappingURL=side-sheet.animation.d.ts.map