import { AfterViewInit, DestroyRef, ElementRef, OnInit } from '@angular/core'; import { AsyncValidatorFn, FormControl, FormGroup, ValidatorFn } from '@angular/forms'; import { CbmDocumentTypeModel, CbmDocumentTypeRepository } from '@g2-common/document-type-repository'; import { Subject } from 'rxjs'; import { IPagination, TStatus } from './types'; import { CbmNotificationService } from '@g2-common/notification-service'; import { CbmBillingRepository } from '@g2-common/billing-repository'; import { CbmClientGroupModel, CbmClientGroupRepository } from '@g2-common/client-group-repository'; import { CbmCountryCodeModel, CbmCountryCodeRepository } from '@g2-common/country-code-repository'; import { CbmSellerModel, CbmSellerRepository } from '@g2-common/seller-repository'; import { CbmPriceListModel, CbmPriceListRepository } from '@g2-common/price-list-repository'; import { CbmTreeSelect } from '@g2-common/tree-select'; import { CbmClientModel, CbmClientRepository } from '@g2-common/client-repository'; import { CbmRateModel, CbmRateRepository } from '@g2-common/rate-repository'; import { CbmClientCategoryRepository } from '@g2-common/client-category-repository'; import { CbmSettingsProfessionsModel, CbmSettingsProfessionsRepository } from '@g2-common/settings-professions-repository'; import { CbmConfirmationModalComponent } from '@g2-common/confirmation-modal'; import * as i0 from "@angular/core"; export type TSaveOptions = 'new' | 'view' | 'close'; export declare class CbmAddClientComponent implements OnInit, AfterViewInit { private destroyRef; private documentTypeRepository; private notificationService; private billingRepository; private countryCodeRepository; private sellerRepository; private priceListRepository; private clientGroupRepository; private clientRepository; private rateRepository; private clientCategoryRepository; private settingsProfessionsRepository; dropdownMenuRef: import("@angular/core").Signal | undefined>; clientId: import("@angular/core").InputSignal; isFromOrigin: import("@angular/core").InputSignal; document_type_code: import("@angular/core").InputSignal; document_number: import("@angular/core").InputSignal; resetForm: import("@angular/core").InputSignal; cancel: import("@angular/core").OutputEmitterRef; save: import("@angular/core").OutputEmitterRef; saveAndView: import("@angular/core").OutputEmitterRef; saveAndNew: import("@angular/core").OutputEmitterRef; update: import("@angular/core").OutputEmitterRef; documentTypes: import("@angular/core").WritableSignal; countryCodes: import("@angular/core").WritableSignal; sellers: import("@angular/core").WritableSignal; priceLists: import("@angular/core").WritableSignal; rateOptions: import("@angular/core").WritableSignal; categories: import("@angular/core").WritableSignal>; professions: import("@angular/core").WritableSignal; clientToUpdate: import("@angular/core").WritableSignal; statusOfFetchDocumentTypes: import("@angular/core").WritableSignal; statusOfExtractClientData: import("@angular/core").WritableSignal; statusOfFetchCountryCodes: import("@angular/core").WritableSignal; statusOfFetchSellers: import("@angular/core").WritableSignal; statusOfFetchPriceLists: import("@angular/core").WritableSignal; statusOfFetchCategories: import("@angular/core").WritableSignal; statusOfSaveClient: import("@angular/core").WritableSignal; statusOfFetchClientData: import("@angular/core").WritableSignal; statusOfUpdateClient: import("@angular/core").WritableSignal; isEmailInputFocused: import("@angular/core").WritableSignal; statusOfFetchRate: import("@angular/core").WritableSignal; statusOfFetProfession: import("@angular/core").WritableSignal; subjectToSearchDocumentType$: Subject; subjectToSearchSeller$: Subject; subjectToSearchPriceList$: Subject; subjectToSearchCategory$: Subject; subjectToSearchRate$: Subject; subjectToSearchProfessionType$: Subject; ratePagination: import("@angular/core").WritableSignal; professionPagination: import("@angular/core").WritableSignal; defaultDocumentNumber: string | null; DOCUMENT_TYPES_CODES: { readonly RUC: "04"; readonly CEDULA: "05"; readonly PASAPORTE: "06"; readonly VENTA_A_CONSUMIDOR_FINAL: "07"; readonly IDENTIFICACION_DEL_EXTERIOR: "08"; }; saveOption: import("@angular/core").WritableSignal; confirmationModalRef: import("@angular/core").Signal; clientForm: FormGroup<{ documentType: FormControl; documentNumber: FormControl; category: FormControl; businessName: FormControl; tradename: FormControl; address: FormControl; phoneCode: FormControl; conventionalTelephone: FormControl; cellphone: FormControl; seller: FormControl; priceList: FormControl; rate: FormControl; emails: FormControl; email: FormControl; economicActivity: FormControl; hasCellphone: FormControl; creditApplication: FormControl; requestCredit: FormControl; reasonOfCredit: FormControl; profession: FormControl; }>; constructor(destroyRef: DestroyRef, documentTypeRepository: CbmDocumentTypeRepository, notificationService: CbmNotificationService, billingRepository: CbmBillingRepository, countryCodeRepository: CbmCountryCodeRepository, sellerRepository: CbmSellerRepository, priceListRepository: CbmPriceListRepository, clientGroupRepository: CbmClientGroupRepository, clientRepository: CbmClientRepository, rateRepository: CbmRateRepository, clientCategoryRepository: CbmClientCategoryRepository, settingsProfessionsRepository: CbmSettingsProfessionsRepository); ngOnInit(): void; ngAfterViewInit(): void; documentListener: () => void; onInputConventionalPhone(event: Event): void; get documentTypeControl(): FormControl; get documentNumberControl(): FormControl; get categoryControl(): FormControl; get businessNameControl(): FormControl; get tradenameControl(): FormControl; get addressControl(): FormControl; get phoneCodeControl(): FormControl; get cellphoneControl(): FormControl; get emailsControl(): FormControl; get emailControl(): FormControl; get sellerControl(): FormControl; get priceListControl(): FormControl; get economicActivityControl(): FormControl; get hasCellphoneControl(): FormControl; get creditApplicationControl(): FormControl; get requestCreditControl(): FormControl; get professionControl(): FormControl; compareWithId(a: { _id: string; }, b: { _id: string; }): boolean; cellphoneValidator(): ValidatorFn; noWhitespaceValidator(): ValidatorFn; asyncDocumentNumberValidator(): AsyncValidatorFn; validarRucCedula(numero: string): boolean; documentNumberValidator(): ValidatorFn; emailsValidator(): ValidatorFn; makeSubscriptions(): void; makeInitialRequests(): void; fetchClientData(): void; fetchDocumentTypes(searchTerm?: string): void; getDocumentNumberMaxLength(): number | undefined; getDocumentNumberPattern(): string; extractClientData(): void; fetchDataByCedula(): void; fetchDataByRuc(): void; fetchCountryCodes(): void; fetchProfession(searchTerm?: string): void; fetchSellers(searchTerm?: string): void; fetchPriceLists(searchTerm?: string): void; fetchCategories(searchTerm?: string): void; addEmail(): void; onEmailKeyDown(event: KeyboardEvent): void; onEmailBlur(): void; removeEmail(email: string): void; saveClient(callback: (newClientId: string) => void): void; addClientAndNew(): void; addClientAndView(): void; addClientAndClose(): void; updateClient(): void; onDropdownMenuClick(event: MouseEvent, dropdownMenu: HTMLUListElement): void; fetchRate(searchTerm?: string, init?: boolean): void; validateAccountCategory(id: string): void; validateSaveClientForm(saveOption: TSaveOptions): void; onModalConfirm(): void; validateUpdateClientForm(): void; onCancelModalConfirm(): void; onCancelPress(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }