import { HttpService } from './http.service';
import { ActionFactoryService } from '../../features/actions/services/action-factory.service';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export interface OnSubmitConfig {
    method?: 'GET' | 'POST' | 'PUT' | 'PATCH';
    action?: string;
    target?: '_self' | '_blank' | '_parent';
    novalidate?: boolean;
}
export declare class FormSubmitService {
    private http;
    private actionService;
    private router;
    constructor(http: HttpService, actionService: ActionFactoryService, router: Router);
    /**
     * Submits form data according to the onSubmit config.
     */
    submit(onSubmit: OnSubmitConfig, payload: any): Observable<any>;
    /**
     * * Handles the response from the HTTP request based on the target.
     * * @param data - The response data from the HTTP request.
     * * @param target - The target where the response should be handled.
     * * * If the target is '_blank', it opens a new window and navigates to the route.
     * * * If the target is '_parent', it performs a custom action and handles encoded navigation.
     * * * Otherwise, it loads a new screen with the response data.
     * * @returns void
     */
    private handleResponse;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormSubmitService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FormSubmitService>;
}
