/**
 * FormValidation (https://formvalidation.io)
 * The best validation library for JavaScript
 * (c) 2013 - 2023 Nguyen Huu Phuoc <me@phuoc.ng>
 */

import { Plugin } from '@form-validation/core';

export interface IconOptions {
    invalid?: string;
    valid?: string;
    validating?: string;
    onPlaced?: (e: IconPlacedEvent) => void;
    onSet?: (e: IconSetEvent) => void;
}
export interface IconPlacedEvent {
    element: HTMLElement;
    field: string;
    iconElement: HTMLElement;
    classes: IconOptions;
}
export interface IconSetEvent {
    element: HTMLElement;
    field: string;
    status: string;
    iconElement: HTMLElement;
}

export class Icon extends Plugin<IconOptions> {
    constructor(opts?: IconOptions);
}
