import { FormStructureAndData } from '../../classes/forms/form';
import { LibFormManagerService } from '../../services/form-manager.service';
import { LibEventManagerService } from '../../services/event-manager.service';
import { LibFileManagementService } from '../../services/file-manager.service';
import { FieldDescriptor } from '../../classes/forms/field';
import { RecordFormSection } from '../../classes/forms/section';
import * as i0 from "@angular/core";
export declare class BasicFormComponent extends FormStructureAndData {
    protected formManagerService: LibFormManagerService;
    protected _eventManager: LibEventManagerService;
    protected fileMgmtServices: LibFileManagementService;
    private _controlToken;
    private _originToken;
    private _formRoute;
    private _definitionObtained;
    private _notifyFormActivity;
    private _formChangeState;
    private _formSectionsCanDeactivate;
    private _formSectionsActivate;
    private _formSectionsInactivate;
    private _formActionsStart;
    private _formActionsFinish;
    private _fieldCustomeEvent;
    private _fieldInputValidation;
    private _fieldValidationsStart;
    private _fieldValidationsFinish;
    private _tableSelectionsStart;
    private _tableSelectionsFinish;
    private _tableActionsStart;
    private _tableActionsFinish;
    private _tableGetDataStart;
    private _tableGetDataFinish;
    private _actionServerError;
    private _fieldServerError;
    private _tableServerError;
    protected inputDataFields: any;
    protected extraData: any;
    protected _eventEmiter: LibEventManagerService;
    protected enabledSections: RecordFormSection[];
    _errorType: string;
    errorCode: string;
    errorFullCode: string;
    errorName: string;
    errorMessage: string;
    errorDetail: string;
    visible: boolean;
    busy: import("@angular/core").WritableSignal<boolean>;
    constructor(formManagerService: LibFormManagerService, _eventManager: LibEventManagerService, fileMgmtServices: LibFileManagementService);
    cleanStart(): void;
    get formVisible(): boolean;
    get form(): this;
    preStart(): void;
    start(): void;
    /**
     * @deprecated Use preStart
     */
    customPreProcessing(): void;
    /**
     * @deprecated Overload start
     */
    customFormStart(): void;
    displayActionServerError(): void;
    displayValidationServerError(): void;
    displayTableServerError(): void;
    showFieldInfo(code?: string, detail?: any): void;
    showModalDialog(title: any, body: any, options: any, callback?: any, params?: any): void;
    openUploadDialog(title: any, body: any, options: any, callback?: any, params?: any): void;
    subscribeAppEvent(eventName: string, callback: any): void;
    openForm(name: string, data?: any, backData?: any, cleanStack?: boolean): void;
    enableActivityNotification(): void;
    disableActivityNotification(): void;
    canGoBack(): boolean;
    goBack(): void;
    goBackForm(): void;
    getOriginDetail(): any;
    setError(errorType: string | null, errorMessage: string | null, errorDetail: string | null): void;
    resetError(): void;
    getErrorType(): string;
    getErrorMessage(): string;
    getErrorDetail(): string;
    getErrorName(): string;
    getErrorFullCode(): string;
    getErrorCode(): string;
    getFormParameter(name: string): string;
    preocessInputParams(params: any): string | null;
    subscribeSectionActivation(): void;
    subscribeFieldsSubjects(): void;
    subscribeActionSubjects(): void;
    subscribeTableSubjects(): void;
    formInit(params: any, forceReload?: boolean): Promise<void>;
    changeState(state: string | undefined): boolean;
    checkErrorRecordReceived(recordResponse: any): boolean;
    errorOccured(): boolean;
    /**
     * Soporte manejo de eventos de formulario
     */
    requestFormAction(actionCode: string, actionSubject?: any): Promise<any>;
    updateFormWithServerData(formContent: any): void;
    /**
     * Manejo de event handlers para errores Server del formulario
     */
    cleanActionServerError(): void;
    cleanFieldServerError(): void;
    cleanTableServerError(): void;
    onActionServerError(callback: any, properties?: any): void;
    onValidationServerError(callback: any, properties?: any): void;
    onTableServerError(callback: any, properties?: any): void;
    /**
     * Manejo de event handlers para acciones sobre el formulario
     */
    onFormChange(callback: any): void;
    onSectionCanDeactivate(codes: string[] | string | null, callback: any, properties?: any): void;
    onSectionActivation(codes: string[] | string | null, callback: any, properties?: any): void;
    onSectionInactivation(codes: string[] | string | null, callback: any, properties?: any): void;
    onActionStart(codes: string[] | string | null, callback: any, properties?: any): void;
    onActionFinish(codes: string[] | string | null, callback: any, properties?: any): void;
    verifySectionActivation(code: string): Promise<boolean>;
    launchSectionActivation(code: string): Promise<void>;
    launchSectionInactivation(code: string): Promise<void>;
    startAction(code: string): Promise<void>;
    startServerAction(actionInput: any): Promise<void>;
    finishAction(action: any, actionResult: any, serverError?: boolean): Promise<void>;
    completeGlobalAction(action: any): Promise<void>;
    /**
     * Manejadores de eventos para validaciones sobre campos
     */
    onFieldInput(codes: string[] | string | null, callback: any, properties?: any): void;
    onFieldCustomEvent(codes: string[] | string | null, callback: any, properties?: any): void;
    onFieldValidationStart(codes: string[] | string | null, callback: any, properties?: any): void;
    onFieldValidationFinish(codes: string[] | string | null, callback: any, properties?: any): void;
    startFieldInputValidation(code: string, intrinsicValidation?: boolean): Promise<boolean>;
    startFieldCustomEvent(code: string, eventName: string, eventData: any): Promise<void>;
    startFieldValidation(code: string, intrinsicValidation?: boolean): Promise<void>;
    startServerFieldValidation(inputField: string | FieldDescriptor): Promise<void>;
    finishFieldValidation(fieldObject: any, validationResult: boolean, serverError?: boolean): Promise<void>;
    continueFieldValidation(code: string): Promise<void>;
    /**
     * Manejadores de eventos para acciones sobre Tablas
     */
    onTableActionStart(code: string, actionCode: string, callback: any, properties?: any): void;
    onTableActionFinish(code: string, actionCode: string, callback: any, properties?: any): void;
    onTableSelectionStart(code: string, callback: any, properties?: any): void;
    onTableSelectionFinish(code: string, callback: any, properties?: any): void;
    onTableGetDataStart(code: string, callback: any, properties?: any): void;
    onTableGetDataFinish(code: string, callback: any, properties?: any): void;
    startTableGlobalAction(tableActionEvent: any): Promise<void>;
    startTableServerGlobalAction(tableActionDetail: any): Promise<void>;
    finishTableGlobalAction(tableActionDetail: any, actionResult: any, serverError?: boolean): Promise<void>;
    startTableAction(tableActionEvent: any): Promise<void>;
    startTableServerAction(tableActionDetail: any): Promise<void>;
    completeInlineAction(tableAction: any): Promise<void>;
    finishTableAction(tableActionDetail: any, actionResult: any, serverError?: boolean): Promise<void>;
    startTableRecordSelection(tableActionEvent: any): Promise<void>;
    startTableServerRecordSelection(tableSelectionDetail: any): Promise<void>;
    finishTableRecordSelection(tableSelectionDetail: any, actionResult: any, serverError?: boolean): Promise<void>;
    startTableSelectionAction(tableActionEvent: any): Promise<void>;
    startTableServerSelectionAction(tableActionDetail: any): Promise<void>;
    finishTableSelectionAction(tableActionDetail: any, actionResult: any, serverError?: boolean): Promise<void>;
    startTableGetData(tableActionEvent: any): Promise<void>;
    startTableServerGetData(tableActionDetail: any): Promise<void>;
    finishTableGetData(tableActionDetail: any, actionResult: any, serverError?: boolean): Promise<void>;
    checkSectionRequiredFields(sectionCode: string, reqFieldMessage?: string): boolean;
    validateSectionConsistency(sectionCode: string, reqFieldMessage?: string): boolean;
    copyTableRecordToFields(tableObj: any, mappingTable?: any): boolean;
    notifyFormActivity(): void;
    /**
     * Métodos Legacy de compatibilidad hacia atrás
     */
    /**
     * @deprecated Use name
     */
    get formCode(): string;
    /**
     * @deprecated Use name
     */
    set formCode(name: string);
    /**
     * @deprecated Use busy signal
     */
    get inServerProcess(): boolean;
    /**
     * @deprecated Use state
     */
    get currentState(): string;
    /**
     * @deprecated Use changeState
     */
    set currentState(state: string);
    /**
     * @deprecated Use onSectionActivation
     */
    get formRoute(): string;
    /**
     * @deprecated Use onSectionActivation
     */
    set formRoute(route: string);
    /**
     * @deprecated Use onSectionActivation
     */
    addSectionActivation(codes: string[] | string | null, callback: any, properties?: any): void;
    /**
     * @deprecated Use onSectionInactivation
     */
    addSectionInactivation(codes: string[] | string | null, callback: any, properties?: any): void;
    /**
     * @deprecated Use onActionStart
     */
    addActionMethodStart(codes: string[] | string | null, callback: any, properties?: any): void;
    /**
     * @deprecated Use onActionFinish
     */
    addActionMethodFinish(codes: string[] | string | null, callback: any, properties?: any): void;
    /**
     * @deprecated Use onFieldInput
     */
    addFieldInputValidation(codes: string[] | string | null, callback: any, properties?: any): void;
    /**
     * @deprecated Use onFieldValidationStart
     */
    addFieldValidationStart(codes: string[] | string | null, callback: any, properties?: any): void;
    /**
     * @deprecated Use onFieldValidationFinish
     */
    addFieldValidationFinish(codes: string[] | string | null, callback: any, properties?: any): void;
    /**
     * @deprecated Use onTableActionStart
     */
    addTableActionStart(code: string, actionCode: string, callback: any, properties?: any): void;
    /**
     * @deprecated Use onTableActionFinish
     */
    addTableActionFinish(code: string, actionCode: string, callback: any, properties?: any): void;
    /**
     * @deprecated Use onTableSelectionStart
     */
    addTableSelectionStart(code: string, callback: any, properties?: any): void;
    /**
     * @deprecated Use onTableSelectionFinish
     */
    addTableSelectionFinish(code: string, callback: any, properties?: any): void;
    /**
     * @deprecated Use onTableGetDataStart
     */
    addTableGetDataStart(code: string, callback: any, properties?: any): void;
    /**
     * @deprecated Use onTableGetDataFinish
     */
    addTableGetDataFinish(code: string, callback: any, properties?: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BasicFormComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BasicFormComponent, "ng-component", never, {}, {}, never, ["*"], false, never>;
}
