import { vehicleQuotationElementNames } from './vehicle-quotation/element-mapper';
import { VehicleQuotation } from './vehicle-quotation/validations';
import { FormHook, FormHookInterface, FormElementStructure } from "../../features/form-hook/index";
import { GeneralFormLocal, LanguageKeys, MultiLingual } from "../../features/multi-lingual/index";
export declare class VehicleQuotationForm implements FormHookInterface<VehicleQuotation>, MultiLingual {
    language: LanguageKeys;
    locale: GeneralFormLocal;
    changeLanguage(newLanguage: LanguageKeys): Promise<void>;
    errorMessage: string;
    isLoading: boolean;
    localeLanguage: LanguageKeys;
    gistId?: string;
    extraHeader: object;
    extraPayload: object;
    structureUrl?: string;
    loadingChanges: (loading: boolean) => void;
    errorCallback: (error: any, message: string) => Promise<void | boolean>;
    successCallback: (data: any, message?: string) => Promise<void | boolean>;
    structure: FormElementStructure<vehicleQuotationElementNames> | undefined;
    fields?: object;
    el: HTMLElement;
    setIsLoading(isLoading: boolean): void;
    setErrorCallback(error: any): void;
    setSuccessCallback(data: any): void;
    componentWillLoad(): Promise<void>;
    formSubmit(formValues: VehicleQuotation): Promise<void>;
    componentDidLoad(): Promise<void>;
    getForm(): Promise<FormHook<any>>;
    submit(): Promise<void>;
    structureRendered: boolean;
    formReadyCallback?: () => void;
    structureChanged(isRendered: boolean): Promise<void>;
    formId?: string;
    isDev?: boolean;
    disableScrollToTop?: boolean;
    isMobileForm: boolean;
    getMobileToken?: () => string;
    form: FormHook<VehicleQuotation>;
    render(): any;
}
