import { DATA_SOURCE_TYPE, FORM_FIELD_TYPE, FORM_FORMAT, FORM_FILTER, DAYS } from '../common.js';
import FormValue from './form-value.js';
export default class FormInput {
    type?: FORM_FIELD_TYPE;
    trigger_on_change?: boolean;
    name?: string;
    label?: string;
    hint?: string;
    placeholder?: string;
    mandatory?: boolean;
    filter?: Array<FORM_FILTER> | PhoneNumberFilter | DateFilter;
    value?: unknown;
    options?: Array<FormValue>;
    format?: FORM_FORMAT;
    max_length?: string;
    min_length?: string;
    max_selections?: string;
    step_value?: number;
    /**
     * @deprecated - property name misspelled
     *
     * Use {@link boundary} instead.
     */
    boundry?: Boundry;
    boundary?: Boundary;
    max?: number;
    min?: number;
    multiple?: boolean;
    data_source?: DATA_SOURCE_TYPE;
    auto_search_min_results?: number;
    min_characters?: number;
    disabled?: boolean;
    newFormValue(label?: string, value?: string): FormValue;
    addOption(...formValue: Array<FormValue>): number;
    newPhoneNumberFilter(country_code: Array<string>): PhoneNumberFilter;
    newDateFilter(from?: string, to?: string, allowed_days?: Array<DAYS>): DateFilter;
    /**
     * @deprecated - Misspelled function name
     *
     * Use {@link newBoundary} instead.
     */
    newBoundry(latitude?: number, longitude?: number, radius?: number): Boundry;
    newBoundary(latitude?: number, longitude?: number, radius?: number): Boundary;
}
declare class PhoneNumberFilter {
    country_code: Array<string>;
    constructor(country_code: Array<string>);
}
declare class DateFilter {
    from?: string;
    to?: string;
    allowed_days?: Array<DAYS>;
    constructor(from?: string, to?: string, allowed_days?: Array<DAYS>);
}
export declare class FormError {
    type: string;
    text?: string;
    inputs?: Record<string, string>;
}
/**
 * @deprecated - class name misspelled
 *
 * Use {@link Boundary} instead.
 */
declare class Boundry {
    latitude?: number;
    longitude?: number;
    radius?: number;
    constructor(latitude?: number, longitude?: number, radius?: number);
}
declare class Boundary {
    latitude?: number;
    longitude?: number;
    radius?: number;
    constructor(latitude?: number, longitude?: number, radius?: number);
}
export {};
