export interface FlakeParams {
    containerHeight: number;
    gid: number;
    count: number;
    speed: number;
    rotation: boolean;
    minOpacity: number;
    maxOpacity: number;
    minSize: number;
    maxSize: number;
    types: number;
    wind: boolean;
}
export declare class Flake {
    size: number;
    private sizeInner;
    private typeClass;
    private delayRandom;
    private elem?;
    private elemInner?;
    constructor(params: FlakeParams);
    private handleAnimationEnd;
    private getLeft;
    private update;
    /**
     * Apply settings that do not change the flake's size or position.
     */
    setParams(params: FlakeParams, previous: FlakeParams): void;
    /**
     * Resize a flake.
     */
    resize(params: FlakeParams): void;
    /**
     * Append flake to container.
     */
    appendTo(container: HTMLElement, before?: Flake): void;
    /**
     * Destroy a flake.
     */
    destroy(): void;
    /**
     * Get animation properties.
     */
    private getAnimationProps;
}
