import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { ValtimoFormioOptions } from '../../models';
import { ValtimoModalService } from '../../services/valtimo-modal.service';
import { UserProviderService } from '@valtimo/security';
import { FormioComponent as FormIoSourceComponent, FormioForm, FormioOptions, FormioRefreshValue, FormioSubmission } from '@formio/angular';
import { NGXLogger } from 'ngx-logger';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { FormIoStateService } from './services/form-io-state.service';
import { ActivatedRoute } from '@angular/router';
import { TranslateService } from '@ngx-translate/core';
import { FormIoLocalStorageService } from './services/form-io-local-storage.service';
import { ConfigService } from '@valtimo/config';
import * as i0 from "@angular/core";
export declare class FormioComponent implements OnInit, OnChanges, OnDestroy {
    private readonly userProviderService;
    private readonly logger;
    private readonly stateService;
    private readonly route;
    private readonly translateService;
    private readonly localStorageService;
    private readonly modalService;
    private readonly configService;
    set options(optionsValue: ValtimoFormioOptions);
    set submission(submissionValue: FormioSubmission);
    set form(formValue: FormioForm);
    set readOnly(readOnlyValue: boolean);
    formRefresh$: Subject<FormioRefreshValue>;
    submit: EventEmitter<any>;
    change: EventEmitter<any>;
    event: EventEmitter<any>;
    private handleBeforeUnload;
    refreshForm: EventEmitter<FormioRefreshValue>;
    readonly submission$: BehaviorSubject<FormioSubmission<any, import("@formio/angular/types/formio-submission").FormioSubmissionState>>;
    private readonly _form$;
    readonly form$: Observable<FormioForm>;
    readonly options$: BehaviorSubject<ValtimoFormioOptions>;
    readonly readOnly$: BehaviorSubject<boolean>;
    readonly errors$: BehaviorSubject<string[]>;
    readonly languageEventEmitter: EventEmitter<string>;
    readonly currentLanguage$: Observable<string>;
    private readonly _overrideOptions$;
    readonly formioOptions$: Observable<ValtimoFormioOptions | FormioOptions>;
    readonly tokenSetInLocalStorage$: Observable<boolean>;
    private _tokenRefreshTimerSubscription;
    private _formRefreshSubscription;
    private readonly _subscriptions;
    private readonly _tokenTimerSubscription;
    constructor(userProviderService: UserProviderService, logger: NGXLogger, stateService: FormIoStateService, route: ActivatedRoute, translateService: TranslateService, localStorageService: FormIoLocalStorageService, modalService: ValtimoModalService, configService: ConfigService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    showErrors(errors: string[]): void;
    onSubmit(submission: FormioSubmission): void;
    formReady(form: FormIoSourceComponent): void;
    onChange(object: any): void;
    onCustomEvent(event: any): void;
    nextPage(): void;
    prevPage(): void;
    private openReloadFormSubscription;
    private openReloadSubmissionSubscription;
    private scrollToTop;
    private setInitialToken;
    private setToken;
    private setTimerForTokenRefresh;
    private subscribeFormRefresh;
    private unsubscribeFormRefresh;
    private openRouteSubscription;
    private setOverrideOptions;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormioComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormioComponent, "valtimo-form-io", never, { "options": { "alias": "options"; "required": false; }; "submission": { "alias": "submission"; "required": false; }; "form": { "alias": "form"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "formRefresh$": { "alias": "formRefresh$"; "required": false; }; }, { "submit": "submit"; "change": "change"; "event": "event"; }, never, never, false, never>;
}
//# sourceMappingURL=form-io.component.d.ts.map