import { default as React, ReactNode } from 'react';
export type ArchbaseAnimationPreset = 'fade' | 'scale' | 'scale-y' | 'scale-x' | 'skew-up' | 'skew-down' | 'rotate-left' | 'rotate-right' | 'slide-down' | 'slide-up' | 'slide-left' | 'slide-right' | 'pop' | 'pop-bottom-left' | 'pop-bottom-right' | 'pop-top-left' | 'pop-top-right';
export interface ArchbaseAnimationWrapperProps {
    /** Conteúdo a ser animado */
    children: ReactNode;
    /** Se o conteúdo está visível */
    visible?: boolean;
    /** Preset de animação */
    preset?: ArchbaseAnimationPreset;
    /** Duração da animação em ms */
    duration?: number;
    /** Delay antes de iniciar em ms */
    delay?: number;
    /** Função de timing */
    timingFunction?: string;
    /** Se deve manter montado quando invisível */
    keepMounted?: boolean;
    /** Callback quando a animação de entrada completa */
    onEntered?: () => void;
    /** Callback quando a animação de saída completa */
    onExited?: () => void;
    /** Callback quando a animação de entrada inicia */
    onEnter?: () => void;
    /** Callback quando a animação de saída inicia */
    onExit?: () => void;
    /** Classe CSS */
    className?: string;
    /** Estilo */
    style?: React.CSSProperties;
}
export declare const ArchbaseAnimationWrapper: React.ForwardRefExoticComponent<ArchbaseAnimationWrapperProps & React.RefAttributes<HTMLDivElement>>;
export interface ArchbaseAnimatedListProps {
    /** Itens da lista */
    children: ReactNode;
    /** Se os itens estão visíveis */
    visible?: boolean;
    /** Preset de animação */
    preset?: ArchbaseAnimationPreset;
    /** Duração da animação em ms */
    duration?: number;
    /** Delay base em ms */
    baseDelay?: number;
    /** Delay incremental entre itens em ms */
    staggerDelay?: number;
    /** Função de timing */
    timingFunction?: string;
    /** Se deve animar na ordem reversa */
    reverse?: boolean;
    /** Classe CSS do container */
    className?: string;
    /** Estilo do container */
    style?: React.CSSProperties;
}
export declare const ArchbaseAnimatedList: React.ForwardRefExoticComponent<ArchbaseAnimatedListProps & React.RefAttributes<HTMLDivElement>>;
export interface ArchbaseFadeInWhenVisibleProps {
    /** Conteúdo a ser animado */
    children: ReactNode;
    /** Preset de animação */
    preset?: ArchbaseAnimationPreset;
    /** Duração da animação em ms */
    duration?: number;
    /** Delay antes de iniciar em ms */
    delay?: number;
    /** Threshold de visibilidade (0-1) */
    threshold?: number;
    /** Se deve animar apenas uma vez */
    once?: boolean;
    /** Classe CSS */
    className?: string;
    /** Estilo */
    style?: React.CSSProperties;
}
export declare const ArchbaseFadeInWhenVisible: React.ForwardRefExoticComponent<ArchbaseFadeInWhenVisibleProps & React.RefAttributes<HTMLDivElement>>;
