import { ESLMixinElement } from '../../esl-mixin-element/core';
import type { ESLAnimateConfig } from './esl-animate-service';
/**
 * ESLAnimateMixin - custom mixin element for quick {@link ESLAnimateService} attaching
 *
 * Use example:
 * `<div esl-animate>Content</div>`
 *
 * Supports additional parameters:
 * `<div esl-animate={repeat: true, ratio: 0.8, cls: 'in'}>Content</div>`
 */
export declare class ESLAnimateMixin extends ESLMixinElement {
    static is: string;
    static defaultConfig: ESLAnimateConfig;
    options?: ESLAnimateConfig;
    protected mergeDefaultParams(): ESLAnimateConfig;
    protected connectedCallback(): void;
    protected disconnectedCallback(): void;
    protected attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
    /** Reinitialize {@link ESLAnimateService} for target */
    reanimate(): void;
}
declare global {
    export interface ESLLibrary {
        AnimateMixin: typeof ESLAnimateMixin;
    }
}
