import * as _angular_core from '@angular/core'; import { TemplateRef, AfterViewInit, OnDestroy, ElementRef, OnInit, SimpleChanges, OnChanges, Signal, Type, ViewContainerRef, AfterViewChecked, RendererFactory2, InjectionToken, Provider, EnvironmentProviders } from '@angular/core'; import { ValidatorFn, FormControl, FormGroup } from '@angular/forms'; import { DataBaseModelInterface } from '@solcre-org/core'; import { NgSelectComponent } from '@ng-select/ng-select'; import * as rxjs from 'rxjs'; import { Observable, Subject, BehaviorSubject } from 'rxjs'; import { SafeHtml } from '@angular/platform-browser'; import { Overlay } from '@angular/cdk/overlay'; import * as _solcre_org_core_ui from '@solcre-org/core-ui'; import { CanActivateFn } from '@angular/router'; import { HttpInterceptorFn, HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpClient } from '@angular/common/http'; import { TranslateLoader, TranslateService } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; declare class CoreHostDirective { coreuiElement: string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class FieldErrorsComponent { errors: _angular_core.InputSignal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface ActiveFilterItem { key: string; label: string; value: any; displayValue?: string; removable?: boolean; } interface ActiveFiltersConfig { showActiveFilters?: boolean; activeFiltersTitle?: string; clearFiltersLabel?: string; showClearButton?: boolean; customClass?: string; maxVisibleFilters?: number; formatters?: { [key: string]: (value: any) => string; }; } declare class ActiveFiltersComponent { private translateService; activeFilters: _angular_core.InputSignal; config: _angular_core.InputSignal; onFilterRemove: _angular_core.OutputEmitterRef; onClearAll: _angular_core.OutputEmitterRef; visibleFilters: _angular_core.Signal; hasFilters: _angular_core.Signal; showClearButton: _angular_core.Signal; activeFiltersTitle: _angular_core.Signal; clearFiltersLabel: _angular_core.Signal; containerClass: _angular_core.Signal; removeFilter(filter: ActiveFilterItem): void; clearAllFilters(): void; getDisplayValue(filter: ActiveFilterItem): string; isFilterRemovable(filter: ActiveFilterItem): boolean; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum TimeInterval { MINUTES_15 = "15_MINUTES", MINUTES_30 = "30_MINUTES", HOURLY = "HOURLY" } declare enum FieldType { TEXT = "text", TEXTAREA = "textarea", NUMBER = "number", CHECKBOX = "checkbox", SELECT = "select", DATE = "date", DATETIME = "datetime", TIME = "time", PASSWORD = "password", SWITCH = "switch", SERVER_SELECT = "server-select", FILE = "file", PHONE = "phone", DOCUMENT = "document" } declare enum NumberFieldType { DEFAULT = "default", DECIMAL = "decimal", INTEGER = "integer" } declare enum ModalMode { VIEW = "view", EDIT = "edit", CREATE = "create", FILTER = "filter" } interface MultiEntryFieldConfig { allowMultipleEntries?: boolean; maxEntries?: number; minEntries?: number; outputFormat?: MultiEntryOutputFormat; customSeparator?: string; labels?: { add?: string; remove?: string; }; format?: (entries: any[], formData: any) => any; } declare enum MultiEntryOutputFormat { ARRAY = "array", COMMA_SEPARATED = "comma_separated", CUSTOM_SEPARATOR = "custom_separator", INDIVIDUAL = "individual", CUSTOM_FORMAT = "custom_format" } interface MultiEntryFieldValue { entries: any[]; outputFormat: MultiEntryOutputFormat; separator?: string; } interface ModalFieldConfig { key: keyof T; keyToPayload?: string; label: string; placeholder?: string; type: FieldType.TEXT | FieldType.NUMBER | FieldType.CHECKBOX | FieldType.SELECT | FieldType.TEXTAREA | FieldType.DATE | FieldType.DATETIME | FieldType.TIME | FieldType.PASSWORD | FieldType.SWITCH | FieldType.SERVER_SELECT | FieldType.FILE | FieldType.PHONE | FieldType.DOCUMENT; options?: { value: any; label: string; }[]; dynamicOptions?: (row: T) => { value: any; label: string; }[]; readonly: boolean | ((formValue: any) => boolean); disabled?: boolean | ((formValue: any) => boolean) | ((row: T) => boolean); defaultValue?: any | ((row: T) => any); dynamicValue?: (formValue: any) => any; timeInterval?: TimeInterval; duration?: number; multiple?: boolean; linkedFieldKey?: keyof T; validators?: ValidatorFn[] | ((formValue: any) => ValidatorFn[]); errorMessages?: { [key: string]: string; }; visible?: boolean | (() => boolean) | ((formValue: any) => boolean) | ((row: T) => boolean); includeInPayload?: boolean; hasError?: boolean; blocked?: boolean; inline?: boolean; prefixIcon?: string; format?: (value: any, data: T) => string; customViewTemplate?: ((value: any, data: T) => string) | TemplateRef; multiEntryConfig?: MultiEntryFieldConfig; modes?: Partial any); readonly?: boolean | ((formValue: any) => boolean); disabled?: boolean | ((formValue: any) => boolean) | ((row: T) => boolean); options?: { value: any; label: string; }[]; validators?: ValidatorFn[] | ((formValue: any) => ValidatorFn[]); dynamicValue?: (formValue: any) => any; errorMessages?: { [key: string]: string; }; visible?: boolean | (() => boolean) | ((formValue: any) => boolean) | ((row: T) => boolean); includeInPayload?: boolean; multiple?: boolean; hasError?: boolean; errorMessage?: string; format?: (value: any, row: any) => string; customViewTemplate?: ((value: any, row: any) => string) | TemplateRef; }>>; } declare abstract class BaseFieldComponent { field: _angular_core.InputSignal>; value: _angular_core.InputSignal; mode: _angular_core.InputSignal; errors: _angular_core.InputSignal; rowData: _angular_core.InputSignal; formValue: _angular_core.InputSignal; valueChange: _angular_core.OutputEmitterRef; onBlurEvent: _angular_core.OutputEmitterRef; onEnterEvent: _angular_core.OutputEmitterRef; protected formControl: _angular_core.WritableSignal>; private lastEmittedValue; private isEnterPressed; isReadonly: _angular_core.Signal; protected evaluateReadonly(): boolean; protected evaluateDisabled(): boolean; hasError: _angular_core.Signal; hasRequiredValidators: _angular_core.Signal; ngOnInit(): void; constructor(); protected initializeFormControl(): void; protected getCurrentValidators(): ValidatorFn[]; protected getDynamicValue(): any; private normalizeValue; protected onBlur(event?: FocusEvent): void; private isRealBlur; private isWithinFieldArea; protected onEnter(event: KeyboardEvent): void; private resetEnterFlag; protected onValueChange(newValue: any): void; onBlurInput(event?: FocusEvent): void; onEnterInput(event: KeyboardEvent): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-base-field", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "rowData": { "alias": "rowData"; "required": false; "isSignal": true; }; "formValue": { "alias": "formValue"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "onBlurEvent": "onBlurEvent"; "onEnterEvent": "onEnterEvent"; }, never, never, true, never>; } interface CheckboxOption { value: any; label: string; detail?: string; externalLink?: string; selected?: boolean; } interface CheckboxFieldConfig { externalLink?: string; detail?: string; options?: CheckboxOption[]; allowMultiple?: boolean; required?: boolean; separatedOptions?: boolean; } interface CheckboxModalFieldConfig extends ModalFieldConfig { checkboxConfig?: CheckboxFieldConfig; } declare class CheckboxFieldComponent extends BaseFieldComponent { isDisabled: _angular_core.Signal; externalLink: _angular_core.Signal; detail: _angular_core.Signal; options: _angular_core.Signal; allowMultiple: _angular_core.Signal; isRequired: _angular_core.Signal; hasRequiredIndicator: _angular_core.Signal; hasMultipleOptions: _angular_core.Signal; hasSeparatedOptions: _angular_core.Signal; constructor(); private shouldUpdateFromOptions; private updateValueFromSelected; protected initializeFormControl(): void; private getInitialValue; handleOptionChange(option: CheckboxOption, event: Event): void; onOptionChange(option: CheckboxOption, isChecked: boolean): void; isOptionSelected(option: CheckboxOption): boolean; cannotDeselect(option: CheckboxOption): boolean; onValueChange(newValue: any): void; onBlurInput(): void; onRadioChange(event: Event): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-checkbox-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class DateFieldComponent extends BaseFieldComponent implements AfterViewInit, OnDestroy { private elementRef; private isPickerOpen; minDate: _angular_core.Signal; maxDate: _angular_core.Signal; constructor(elementRef: ElementRef); protected initializeFormControl(): void; ngAfterViewInit(): void; ngOnDestroy(): void; private initializeDateInput; private removeDateInputListeners; private showDatePicker; private updateHasValue; onBlurInput(): void; onCalendarClick(event: Event): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-date-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class DatetimeFieldComponent implements OnInit { field: _angular_core.InputSignal>; value: _angular_core.InputSignal; mode: _angular_core.InputSignal; errors: _angular_core.InputSignal; rowData: _angular_core.InputSignal; formValue: _angular_core.InputSignal; valueChange: _angular_core.OutputEmitterRef; onBlurEvent: _angular_core.OutputEmitterRef; onEnterEvent: _angular_core.OutputEmitterRef; ModalMode: typeof ModalMode; TimeInterval: typeof TimeInterval; selectedDate: _angular_core.WritableSignal; selectedHour: _angular_core.WritableSignal; selectedMinute: _angular_core.WritableSignal; private hasHourValue; private hasMinuteValue; hours: number[]; isHourPlaceholderVisible: _angular_core.Signal; isMinutePlaceholderVisible: _angular_core.Signal; hoursOptions: _angular_core.Signal<{ value: number; label: string; }[]>; availableMinutes: _angular_core.Signal; minutesOptions: _angular_core.Signal<{ value: number; label: string; }[]>; hasRequiredValidators: _angular_core.Signal; private getCurrentValidators; formattedDate: _angular_core.Signal; isDisabled: _angular_core.Signal; hasError: _angular_core.Signal; private evaluateReadonly; constructor(); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; private initializeValues; onDateChange(event: Event): void; onHourChange(value: number): void; onMinuteChange(value: number): void; private emitValue; private roundToNearestInterval; onBlur(): void; onEnter(event: KeyboardEvent): void; onCalendarClick(event: Event): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-datetime-field", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "rowData": { "alias": "rowData"; "required": false; "isSignal": true; }; "formValue": { "alias": "formValue"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "onBlurEvent": "onBlurEvent"; "onEnterEvent": "onEnterEvent"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } interface DocumentOption { value: string; label: string; } declare enum DocumentPayloadMode { OBJECT = "object", SEPARATE_KEYS = "separateKeys" } interface DocumentFieldConfig extends ModalFieldConfig { documentTypeOptions?: DocumentOption[]; documentTypePlaceholder?: string; documentNumberPlaceholder?: string; documentTypeChars?: number; documentNumberChars?: number; payloadMode?: DocumentPayloadMode; documentTypeKey?: string; documentNumberKey?: string; } interface DocumentFieldValue { documentType: string; documentNumber: string; } declare class DocumentFieldComponent extends BaseFieldComponent { protected documentTypeControl: FormControl; protected documentNumberControl: FormControl; private isUserEditing; defaultDocumentOptions: DocumentOption[]; fieldConfig: _angular_core.Signal>; documentTypeOptions: _angular_core.Signal; isDisabled: _angular_core.Signal; documentTypeChars: _angular_core.Signal; documentNumberChars: _angular_core.Signal; constructor(); private emitValue; onDocumentTypeChange(event: Event): void; onDocumentNumberChange(event: Event): void; onDocumentTypeFocus(): void; onDocumentNumberFocus(): void; onDocumentTypeBlur(): void; onDocumentNumberBlur(): void; getDocumentTypePlaceholder(): string; getDocumentNumberPlaceholder(): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-document-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare enum FileType { COMPANY_INVENTORY = "company_inventory", COMPANY_LEGAL = "company_legals", COMPANY_AZF_PROCEDURE = "company_azf_procedure", COMPANY_TELEWORK = "company_remote_work", FILE_TEMPLATE = "file_template", COMPANY_EMPLOYEES_BULK = "company_employees_bulk" } interface PreviewFileUrl { id: string; url: string; } interface FileFieldConfig extends ModalFieldConfig { accept?: string; multiple?: boolean; maxFiles?: number; minFiles?: number; maxSize?: number; showPreview?: boolean; acceptString: string; previewUrls?: PreviewFileUrl[] | ((row: T) => PreviewFileUrl[]); onFileRemoved?: (data: { file: any; index: number; fileType: 'existing' | 'selected' | 'preview'; previewFile?: PreviewFileUrl; }) => void; onFilesAdded?: (data: { previewUrls: PreviewFileUrl[]; newFiles: File[]; }) => void; fileUploadConfig?: { fileType?: FileType; fileTypeResolver?: (data: T) => FileType; companyIdSource?: keyof T; staticCompanyId?: string; fileIdTarget?: keyof T; }; customActions?: { id: string; label: string; icon: string; action: (value: any) => void; }[]; } interface ServerFile { id: string; filename: string; size?: number; type?: string; s3_key?: string; created_at?: string; updated_at?: string; } declare class FileFieldComponent extends BaseFieldComponent implements AfterViewInit { private authService; selectedFiles: _angular_core.WritableSignal; existingFiles: _angular_core.WritableSignal; previewUrls: _angular_core.WritableSignal; newFilesPreviews: _angular_core.WritableSignal; previewBlobs: _angular_core.WritableSignal; previewFileIds: _angular_core.WritableSignal>; errorMessage: _angular_core.WritableSignal; errorParams: _angular_core.WritableSignal; displayErrorMessage: _angular_core.Signal<{ key: string; params: any; } | { key: string; params?: undefined; } | null>; fieldConfig: _angular_core.Signal>; isEditMode: _angular_core.Signal; ModalMode: typeof ModalMode; allFiles: _angular_core.Signal<(File | ServerFile)[]>; allPreviewUrls: _angular_core.Signal; private previewUrlsEffect; private valueChangeEffect; private getPreviewUrls; private createBlobsFromUrls; private extractFilenameFromUrl; ngOnInit(): void; ngAfterViewInit(): void; protected initializeFormControl(): void; private filesCountValidator; private initializeFiles; private regeneratePreviewsIfNeeded; isServerFile(value: any): value is ServerFile; private generatePreviews; onFileSelected(event: Event): void; private setLocalError; private clearLocalError; removeFile(index: number): void; private validateCurrentState; private emitCurrentValue; getFileIcon(file: File): string; formatFileSize(bytes: number): string; getCurrentDate(): string; getCurrentUser(): string; getPreviewIndex(file: any): number; getPreviewUrlForFile(file: any): string | null; getPreviewUrl(file: any): string | null; isPreviewFile(file: any): boolean; getOriginalUrl(file: any): string | null; onBlurInput(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-file-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare enum NumberFieldConfigType { DEFAULT = "default", WITH_ICON = "with-icon", OUTSIDE = "outside" } interface NumberFieldConfig { type?: NumberFieldConfigType; icon?: string; chars?: number; disableInput?: boolean; canUseInput?: boolean; } interface NumberModalFieldConfig extends ModalFieldConfig { numberConfig?: NumberFieldConfig; } declare class NumberFieldComponent extends BaseFieldComponent implements OnDestroy { private elementRef; readonly NumberFieldConfigType: typeof NumberFieldConfigType; private holdInterval; private holdTimeout; private currentHoldDirection; private holdSpeed; private minHoldSpeed; private accelerationRate; private isHolding; private wasHeld; fieldType: _angular_core.Signal; iconClass: _angular_core.Signal; getDisableInput(): boolean | null; getCanUseInput(): boolean; getCharsWidth(): string | null; isDisabled(): boolean; getMinValue(): number; getMaxValue(): number | null; isDecrementDisabled(): boolean; isIncrementDisabled(): boolean; constructor(elementRef: ElementRef); ngOnDestroy(): void; handleMouseDown(event: MouseEvent, direction: number): void; handleMouseUp(event: MouseEvent): void; handleTouchStart(event: TouchEvent, direction: number): void; handleTouchEnd(event: TouchEvent): void; onControlClick(change: number): void; private executeIncrement; private startHold; private stopHold; private restartInterval; onValueChange(newValue: any): void; onBlurInput(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-number-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class PasswordFieldComponent extends BaseFieldComponent { showPassword: _angular_core.WritableSignal; constructor(); inputType(): "text" | "password"; togglePasswordVisibility(): void; onBlurInput(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-password-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare enum AlertType { DEFAULT = "default", ERROR = "error", SUCCESS = "success", HIGHLIGHTED = "highlight", WAITING = "waiting" } declare enum NumberRange { MIN = "min", MAX = "max" } declare enum LayoutBreakpoint { MOBILE = "mobile", TABLET = "tablet", DESKTOP = "desktop" } declare enum SidebarVisibility { SHOW = "show", HIDE = "hide" } declare enum LayoutType { DEFAULT = "default" } declare enum SidebarHeight { DEFAULT = "default", FULL = "full" } declare enum SidebarPosition { LEFT = "left", RIGHT = "right" } declare enum SidebarWidth { DEFAULT = "default", WIDE = "wide" } declare enum SidebarMobileType { SELECT = "select", SCROLL = "scroll", MODAL = "modal" } declare enum HeaderElementType { GLOBAL_ACTIONS = "globalActions", CUSTOM_ACTIONS = "customActions", FILTER = "filter", CREATE = "create", CUSTOM_TEMPLATE = "customTemplate", INDIVIDUAL_ACTION = "individualAction" } declare enum CountryCode { AD = "AD", AE = "AE", AF = "AF", AG = "AG", AI = "AI", AL = "AL", AM = "AM", AO = "AO", AR = "AR", AS = "AS", AT = "AT", AU = "AU", AW = "AW", AX = "AX", AZ = "AZ", BA = "BA", BB = "BB", BD = "BD", BE = "BE", BF = "BF", BG = "BG", BH = "BH", BI = "BI", BJ = "BJ", BL = "BL", BM = "BM", BN = "BN", BO = "BO", BQ = "BQ", BR = "BR", BS = "BS", BT = "BT", BW = "BW", BY = "BY", BZ = "BZ", CA = "CA", CC = "CC", CD = "CD", CF = "CF", CG = "CG", CH = "CH", CI = "CI", CK = "CK", CL = "CL", CM = "CM", CN = "CN", CO = "CO", CR = "CR", CU = "CU", CV = "CV", CW = "CW", CX = "CX", CY = "CY", CZ = "CZ", DE = "DE", DJ = "DJ", DK = "DK", DM = "DM", DO = "DO", DZ = "DZ", EC = "EC", EE = "EE", EG = "EG", EH = "EH", ER = "ER", ES = "ES", ET = "ET", FI = "FI", FJ = "FJ", FK = "FK", FM = "FM", FO = "FO", FR = "FR", GA = "GA", GB = "GB", GD = "GD", GE = "GE", GG = "GG", GH = "GH", GI = "GI", GL = "GL", GM = "GM", GN = "GN", GQ = "GQ", GR = "GR", GT = "GT", GU = "GU", GW = "GW", GY = "GY", HK = "HK", HN = "HN", HR = "HR", HT = "HT", HU = "HU", ID = "ID", IE = "IE", IL = "IL", IM = "IM", IN = "IN", IO = "IO", IQ = "IQ", IR = "IR", IS = "IS", IT = "IT", JE = "JE", JM = "JM", JO = "JO", JP = "JP", KE = "KE", KG = "KG", KH = "KH", KI = "KI", KM = "KM", KN = "KN", KP = "KP", KR = "KR", KW = "KW", KY = "KY", KZ = "KZ", LA = "LA", LB = "LB", LC = "LC", LI = "LI", LK = "LK", LR = "LR", LS = "LS", LT = "LT", LU = "LU", LV = "LV", LY = "LY", MA = "MA", MC = "MC", MD = "MD", ME = "ME", MG = "MG", MH = "MH", MK = "MK", ML = "ML", MM = "MM", MN = "MN", MO = "MO", MP = "MP", MQ = "MQ", MR = "MR", MS = "MS", MT = "MT", MU = "MU", MV = "MV", MW = "MW", MX = "MX", MY = "MY", MZ = "MZ", NA = "NA", NE = "NE", NF = "NF", NG = "NG", NI = "NI", NL = "NL", NO = "NO", NP = "NP", NR = "NR", NU = "NU", NZ = "NZ", OM = "OM", PA = "PA", PE = "PE", PF = "PF", PG = "PG", PH = "PH", PK = "PK", PL = "PL", PN = "PN", PS = "PS", PT = "PT", PW = "PW", PY = "PY", QA = "QA", RO = "RO", RS = "RS", RU = "RU", RW = "RW", SA = "SA", SB = "SB", SC = "SC", SD = "SD", SE = "SE", SG = "SG", SI = "SI", SK = "SK", SL = "SL", SM = "SM", SN = "SN", SO = "SO", SR = "SR", SS = "SS", ST = "ST", SV = "SV", SX = "SX", SY = "SY", SZ = "SZ", TC = "TC", TD = "TD", TG = "TG", TH = "TH", TJ = "TJ", TK = "TK", TL = "TL", TM = "TM", TN = "TN", TO = "TO", TR = "TR", TT = "TT", TV = "TV", TW = "TW", TZ = "TZ", UA = "UA", UG = "UG", UN = "UN", US = "US", UY = "UY", UZ = "UZ", VA = "VA", VC = "VC", VE = "VE", VG = "VG", VI = "VI", VN = "VN", VU = "VU", WS = "WS", XK = "XK", XX = "XX", YE = "YE", ZA = "ZA", ZM = "ZM", ZW = "ZW" } declare const ALL_COUNTRY_CODES: CountryCode[]; declare function isValidCountryCode(code: string): code is CountryCode; declare function getCountryCodeStrings(): string[]; declare enum DayState { DEFAULT = "default", ACTIVE = "active", CURRENT = "current", DISABLED = "disabled", SELECTED = "selected" } declare enum DayType { PREVIOUS_MONTH = "previous", CURRENT_MONTH = "current", NEXT_MONTH = "next" } declare enum CalendarEventType { BLOCKED = "blocked", UNAVAILABLE = "unavailable", EVENT = "event", PENDING = "pending", USER_EVENT = "user-event", CONFIRMED = "confirmed", CANCELLED = "cancelled", COMPLETED = "completed", REJECTED = "rejected", EXPIRED = "expired" } declare enum WeekDay { MONDAY = 0, TUESDAY = 1, WEDNESDAY = 2, THURSDAY = 3, FRIDAY = 4, SATURDAY = 5, SUNDAY = 6 } interface CountryOption { code: CountryCode; phone: string; name: string; flag?: string; } interface PhoneFieldConfig { availableCountries?: CountryOption[] | 'all' | 'common' | 'latin-america' | 'south-america' | 'custom'; customCountriesList?: CountryCode[]; defaultCountry?: CountryCode; showFlags?: boolean; showCountryCode?: boolean; showPhoneCode?: boolean; phonePlaceholder?: string; validatePhoneFormat?: boolean; separator?: string; countrySelectWidth?: number; flagsBasePath?: string; payloadFormat?: 'fullNumber' | 'phoneNumber' | 'phoneCode' | 'countryCode' | 'object'; } interface PhoneModalFieldConfig extends ModalFieldConfig { phoneConfig?: PhoneFieldConfig; } declare class PhoneFieldComponent extends BaseFieldComponent { countryControl: FormControl; phoneControl: FormControl; phoneConfig: _angular_core.Signal<{ availableCountries: CountryOption[] | "all" | "common" | "latin-america" | "south-america" | "custom"; customCountriesList?: CountryCode[]; defaultCountry: string; showFlags: boolean; showCountryCode: boolean; showPhoneCode: boolean; phonePlaceholder: string; validatePhoneFormat: boolean; separator: string; countrySelectWidth: number; flagsBasePath: string; payloadFormat: "fullNumber" | "phoneNumber" | "phoneCode" | "countryCode" | "object"; }>; availableCountries: _angular_core.Signal; selectedCountry: _angular_core.WritableSignal; private dropdownOpen; private isUpdatingValue; isDisabled: _angular_core.Signal; private readonly hostElement; constructor(); private setInitialValue; private parseStringValue; private updatePhoneValue; private syncCountryFromControl; getCountryLabel(country: CountryOption): string; getPhonePlaceholder(): string; getFlagUrl(country: CountryOption): string; onBlurInput(): void; private validatePhoneFormat; static getLatinAmericaConfig(): Partial>; static getCommonCountriesConfig(): Partial>; isDropdownOpen(): boolean; onDocumentClick(event: MouseEvent): void; toggleDropdown(): void; selectCountry(country: CountryOption, event?: Event): void; onFlagError(event: Event): void; getSelectedCountryDisplay(): string; onAreaCodeClick(event: Event): void; onAreaCodeKeydown(event: KeyboardEvent): void; onPhoneKeyPress(event: KeyboardEvent): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-phone-field", never, {}, {}, never, never, true, never>; } interface SelectFieldConfig extends ModalFieldConfig { options?: { value: any; label: string; data?: any; }[]; dynamicOptions?: (row: T) => { value: any; label: string; data?: any; }[]; dynamicValue?: (formValue: any) => any; onSelectionChange?: (selectedItem: { value: any; label: string; data?: any; } | null, currentFormValue: any) => any; bindValue?: string; bindLabel?: string; searchable?: boolean; clearable?: boolean; placeholder?: string; noResultsText?: string; } declare class SelectFieldComponent extends BaseFieldComponent { ngSelect: NgSelectComponent; field: _angular_core.InputSignal>; selectionChange: _angular_core.OutputEmitterRef<{ selectedItem: any; newFormValue: any; }>; private isInitialized; private hasValue; private userHasInteracted; private lastDynamicValue; computedValue: _angular_core.Signal; isPlaceholderVisible: _angular_core.Signal; isSearchable: _angular_core.Signal; isDisabled: _angular_core.Signal; constructor(); ngOnInit(): void; compareWith: (item: any, selected: any) => boolean; onValueChange(newValue: any): void; private findSelectedItem; isOptionSelected(optionValue: string): boolean; onBlurInput(): void; private scheduleDynamicValue; private shouldApplyDynamicValue; private hasMeaningfulValue; private areValuesEqual; private cloneValue; onSelectChange(value: any): void; onSelectClear(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-select-field", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } interface SearchResponse { data?: T[]; [key: string]: T[] | undefined; } declare class ServerSelectService { private apiService; search(endpoint: string, term: string, searchParam?: string, responseKey?: string, additionalParams?: { [key: string]: any; }): Observable; getInitialItems(endpoint: string, responseKey?: string): Observable; private processEndpoint; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface SelectServerSideConfig extends ModalFieldConfig { endpoint?: string | ((row: T | null) => string); bindValue?: string; bindLabel?: string; labelKeys?: string[]; labelFormatter?: (item: T | any) => string; labelTemplate?: string; labelSeparator?: string; searchParam?: string; responseKey?: string; dynamicOptions?: (row: T) => { value: any; label: string; data?: any; }[]; preloadedOptions?: any[]; minSearchLength?: number; additionalParams?: (formValue: any) => { [key: string]: any; }; dependsOn?: string; onSelectionChange?: (selectedItem: { value: any; label: string; data?: any; } | null, currentFormValue: any) => any; } interface SelectItem extends DataBaseModelInterface { [key: string]: any; } declare class ServerSelectFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, AfterViewInit { ngSelect: NgSelectComponent; field: _angular_core.InputSignal>; selectionChange: _angular_core.OutputEmitterRef<{ selectedItem: any; newFormValue: any; }>; private serverSelectService; private loaderService; private destroy$; private initialized; private isEvaluatingDynamicOptions; private lastRowDataHash; private hasValueSignal; constructor(); private itemsSignal; items: _angular_core.Signal; private isLoadingSignal; isLoading: _angular_core.Signal; private hasSearchedSignal; hasSearched: _angular_core.Signal; private lastSearchResultsSignal; lastSearchResults: _angular_core.Signal; searchInput$: Subject; private dynamicOptionsThrottle$; computedValue: _angular_core.Signal; isSearchable: _angular_core.Signal; isPlaceholderVisible: _angular_core.Signal; compareWith: (item: SelectItem | null, selected: any) => boolean; getDisplayLabel: (item: SelectItem) => string; private throttledEvaluateDynamicOptions; ngOnInit(): void; private initializeWithOptions; private getCurrentRowData; private initializeWithPreloadedOptions; private initializeWithExistingValues; private hasValue; private updateItemsWithValue; private setValidOptions; private updateItemsIfDifferent; private mergeWithSelectedItems; private getSelectedItemsOnly; ngAfterViewInit(): void; ngOnDestroy(): void; onValueChange(newValue: any): void; private findSelectedItem; isOptionSelected(optionValue: string): boolean; onBlurInput(): void; onClear(): void; onSelectChange(value: any): void; onSelectClear(): void; onSearch(event: { term: string; items: any[]; }): void; onFocus(): void; onOpen(): void; onBeforeOpen(): boolean; onFieldClick(): void; onClose(): void; private evaluateDynamicOptions; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-server-select-field", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class SwitchFieldComponent extends BaseFieldComponent { isDisabled: _angular_core.Signal; constructor(); labelOff: _angular_core.Signal; labelOn: _angular_core.Signal; private getCurrentValue; protected initializeFormControl(): void; onValueChange(newValue: any): void; onBlurInput(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-switch-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class TextAreaFieldComponent extends BaseFieldComponent { constructor(); isDisabled(): boolean; onBlurInput(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-text-area-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class TextFieldComponent extends BaseFieldComponent { constructor(); isDisabled(): boolean; getInputType(): string; getCharsWidth(): string | null; onBlurInput(event?: FocusEvent): void; handleEnterKey(event: Event): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-text-field", never, {}, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } interface TimeFieldValue { startTime: string | null; endTime?: string | null; } interface TimeOption { value: string; label: string; used?: boolean; } interface TimeFieldConfig { options: TimeOption[]; timeInterval?: TimeInterval; includeEndTime?: boolean; startTimeLabel?: string; endTimeLabel?: string; enforceEndTimeAfterStart?: boolean; defaultStartTime?: string; defaultEndTime?: string; } declare class TimeFieldComponent { field: _angular_core.InputSignal & { config?: TimeFieldConfig; }>; value: _angular_core.InputSignal; mode: _angular_core.InputSignal; errors: _angular_core.InputSignal; rowData: _angular_core.InputSignal; formValue: _angular_core.InputSignal; valueChange: _angular_core.OutputEmitterRef; onBlurEvent: _angular_core.OutputEmitterRef; onEnterEvent: _angular_core.OutputEmitterRef; ModalMode: typeof ModalMode; selectedStartTime: _angular_core.WritableSignal; selectedEndTime: _angular_core.WritableSignal; private hasStartValue; private hasEndValue; config: _angular_core.Signal; isStartPlaceholderVisible: _angular_core.Signal; isEndPlaceholderVisible: _angular_core.Signal; availableOptions: _angular_core.Signal; startTimeOptions: _angular_core.Signal<{ disabled: boolean; value: string; label: string; used?: boolean; }[]>; endTimeOptions: _angular_core.Signal<{ disabled: boolean; value: string; label: string; used?: boolean; }[]>; includeEndTime: _angular_core.Signal; startTimeLabel: _angular_core.Signal; endTimeLabel: _angular_core.Signal; isDisabled: _angular_core.Signal; hasError: _angular_core.Signal; hasRequiredValidators: _angular_core.Signal; startTimeErrors: _angular_core.Signal; endTimeErrors: _angular_core.Signal; hasStartTimeError: _angular_core.Signal; hasEndTimeError: _angular_core.Signal; hasStartTimeRequiredValidator: _angular_core.Signal; hasEndTimeRequiredValidator: _angular_core.Signal; private getCurrentValidators; private evaluateReadonly; constructor(); private initializeFromValue; private generateTimeOptions; onStartTimeChange(value: string | null): void; onEndTimeChange(value: string | null): void; private emitValue; private validateIndividualFields; onStartTimeBlur(): void; onEndTimeBlur(): void; private isTimeBeforeOrEqual; private isEmptyValue; private applyDefaultValues; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-time-field", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "rowData": { "alias": "rowData"; "required": false; "isSignal": true; }; "formValue": { "alias": "formValue"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "onBlurEvent": "onBlurEvent"; "onEnterEvent": "onEnterEvent"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } interface ExtendedModalFieldConfig extends ModalFieldConfig { multiEntryConfig?: MultiEntryFieldConfig; } declare class MultiEntryFieldComponent implements OnInit { field: _angular_core.InputSignal>; value: _angular_core.InputSignal; mode: _angular_core.InputSignal; errors: _angular_core.InputSignal; rowData: _angular_core.InputSignal; formValue: _angular_core.InputSignal; valueChange: _angular_core.OutputEmitterRef; onBlurEvent: _angular_core.OutputEmitterRef; onEnterEvent: _angular_core.OutputEmitterRef; hasErrors: _angular_core.OutputEmitterRef; ModalMode: typeof ModalMode; entries: _angular_core.WritableSignal; fieldValues: _angular_core.WritableSignal; entryErrors: _angular_core.WritableSignal>; private isSyncingFromInput; private lastInputSignature; private lastEmittedSignature; config: _angular_core.Signal; allowMultiple: _angular_core.Signal; maxEntries: _angular_core.Signal; minEntries: _angular_core.Signal; outputFormat: _angular_core.Signal; addLabel: _angular_core.Signal; removeLabel: _angular_core.Signal; canAddMore: _angular_core.Signal; canRemove: _angular_core.Signal; isDisabled: _angular_core.Signal; hasRequiredValidators: _angular_core.Signal; private getCurrentValidators; constructor(); ngOnInit(): void; private initializeEntries; private generateEntryId; addEntry(): void; removeEntry(index: number): void; onFieldValueChange(value: any, index: number): void; private validateEntry; getEntryErrors(index: number): string[]; hasAnyErrors(): boolean; onFieldBlur(fieldKey: keyof T): void; onFieldEnter(fieldKey: keyof T): void; private emitFormattedValue; createFieldConfigForEntry(index: number): ModalFieldConfig; shouldShowActions(index: number): boolean; shouldShowAddButton(index: number): boolean; shouldShowRemoveButton(index: number): boolean; private serializeValue; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-multi-entry-field", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "rowData": { "alias": "rowData"; "required": false; "isSignal": true; }; "formValue": { "alias": "formValue"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "onBlurEvent": "onBlurEvent"; "onEnterEvent": "onEnterEvent"; "hasErrors": "hasErrors"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class SmartFieldComponent implements OnInit { field: _angular_core.InputSignal | ExtendedModalFieldConfig>; value: _angular_core.InputSignal; mode: _angular_core.InputSignal; errors: _angular_core.InputSignal; rowData: _angular_core.InputSignal; formValue: _angular_core.InputSignal; valueChange: _angular_core.OutputEmitterRef; onBlurEvent: _angular_core.OutputEmitterRef; onEnterEvent: _angular_core.OutputEmitterRef; selectionChange: _angular_core.OutputEmitterRef<{ selectedItem: any; newFormValue: any; }>; shouldUseMultiEntry: _angular_core.Signal; ngOnInit(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-smart-field", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "rowData": { "alias": "rowData"; "required": false; "isSignal": true; }; "formValue": { "alias": "formValue"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "onBlurEvent": "onBlurEvent"; "onEnterEvent": "onEnterEvent"; "selectionChange": "selectionChange"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class LoaderService { private loadingRequests; private activeLoaders; isLoading$: rxjs.Observable; isLoading: _angular_core.Signal; showLoader(requestId?: string): void; hideLoader(requestId?: string): void; clear(): void; getState(): { activeLoaders: number; requests: Record; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class LoaderComponent { private loaderService; imageUrl: _angular_core.InputSignal; requestId: _angular_core.InputSignal; isLoading: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface DataListItem { key: string; label: string; value?: any; formattedValue?: string; visible?: boolean | ((data: any) => boolean); format?: (value: any, data?: any) => string; customTemplate?: TemplateRef | ((value: any, data?: any) => string); cssClasses?: { item?: string; key?: string; value?: string; }; } declare class DataListComponent { items: _angular_core.InputSignal; fields: _angular_core.InputSignal[]>; data: _angular_core.InputSignal; customTemplate: _angular_core.InputSignal | null>; showEmptyMessage: _angular_core.InputSignal; emptyMessage: _angular_core.InputSignal; cssClasses: _angular_core.InputSignal; normalizedItems: _angular_core.Signal; visibleItems: _angular_core.Signal; hasData: _angular_core.Signal; hasVisibleItems: _angular_core.Signal; shouldShowContent: _angular_core.Signal; shouldShowEmptyMessage: _angular_core.Signal; private convertFieldsToItems; getItemValue(item: DataListItem): any; getFormattedValue(item: DataListItem): string; private getDefaultFormattedValue; private formatSingleValue; getItemTemplateContext(item: DataListItem): any; getItemTemplateRef(item: DataListItem): TemplateRef | null; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-data-list", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "fields": { "alias": "fields"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "showEmptyMessage": { "alias": "showEmptyMessage"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "cssClasses": { "alias": "cssClasses"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare class DataListItemComponent { key: _angular_core.InputSignal; label: _angular_core.InputSignal; value: _angular_core.InputSignal; formattedValue: _angular_core.InputSignal; customTemplate: _angular_core.InputSignal | null>; templateContext: _angular_core.InputSignal; itemCssClasses: _angular_core.InputSignal; keyCssClasses: _angular_core.InputSignal; valueCssClasses: _angular_core.InputSignal; customCssClasses: _angular_core.InputSignal<{ item?: string; key?: string; value?: string; }>; getItemClasses(): string; getKeyClasses(): string; getValueClasses(): string; hasCustomTemplate(): boolean; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum ButtonContext { DEFAULT = "default", ERROR = "error", SUCCESS = "success" } declare enum ButtonSize { SMALL = "small", MEDIUM = "medium", LARGE = "large" } declare enum ButtonType { PRIMARY = "c-btn", STROKE = "c-btn--stroke", SECONDARY = "c-btn--secondary", ICON = "c-icon-btn", ICON_FILL = "c-icon-btn--fill", LINK = "c-link", LINK_UNDERLINED = "c-link--underlined", LINK_SECONDARY = "c-link--secondary", LINK_SECONDARY_UNDERLINED = "c-link--secondary c-link--underlined" } interface ButtonConfig { type: ButtonType; context?: ButtonContext; size?: ButtonSize; text?: string; icon?: string; iconPosition?: 'left' | 'right'; disabled?: boolean; loading?: boolean; customClass?: string; globalCustomClass?: string; ariaLabel?: string; tooltip?: string; href?: string; target?: '_blank' | '_self' | '_parent' | '_top'; routerLink?: string | any[]; queryParams?: { [key: string]: any; }; fragment?: string; requiredPermission?: { resource?: string; resources?: string[]; action?: string; actions?: string[]; custom_action?: string; }; id?: string; showTextOnIcon?: boolean; tooltipConfig?: { hasTooltip?: boolean; text: string; position: 'top' | 'bottom' | 'left' | 'right'; }; } interface ButtonActionEvent { originalEvent: Event; buttonConfig: any; data?: any; } declare class GenericButtonComponent { ButtonType: typeof ButtonType; ButtonContext: typeof ButtonContext; ButtonSize: typeof ButtonSize; private permissionService; config: _angular_core.InputSignal; data: _angular_core.InputSignal; buttonClick: _angular_core.OutputEmitterRef; get hostClasses(): string; isDisabled: _angular_core.Signal; private checkRequiredPermission; buttonClasses: _angular_core.Signal; isLink: _angular_core.Signal; isIconOnly: _angular_core.Signal; shouldShowText: _angular_core.Signal; hasIcon: _angular_core.Signal; hasText: _angular_core.Signal; iconPositionLeft: _angular_core.Signal; iconPositionRight: _angular_core.Signal; onClick(event: Event): void; getAriaLabel(): string; getTitle(): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface ModalTabConfig { tabId: string; tabLabel: string; fields: ModalFieldConfig[]; hasError?: boolean; visible?: boolean; icon?: string; } declare enum StepStatus { PENDING = "pending", ACTIVE = "active", COMPLETE = "complete" } declare enum StepType { NUMBER = "number", TEXT = "text", ICON = "icon" } interface StepItemConfig { id: string; title: string; status: StepStatus; type: StepType; content?: string | number; icon?: string; disabled?: boolean; clickable?: boolean; customClass?: string; tooltip?: string; data?: any; } interface ModalStepConfig extends StepItemConfig { fields: ModalFieldConfig[]; hasError?: boolean; visible?: boolean; customTemplate?: TemplateRef | null; } interface ModalButtonConfig { text: string; class?: string; action: (data: T | null) => void; disabled?: boolean; } interface GenericTab { id: string; label?: string; translationKey?: string; disabled?: boolean; active?: boolean; data?: any; customClass?: string; hasErrors?: boolean; } interface GenericTabConfig { tabs: GenericTab[]; containerClass?: string; listClass?: string; itemClass?: string; linkClass?: string; activeClass?: string; disabledClass?: string; allowCustomTemplate?: boolean; } declare enum StepSize { SMALL = "small", MEDIUM = "medium", LARGE = "large" } interface StepsConfig { steps: StepItemConfig[]; activeStepId?: string; size?: StepSize; showConnectors?: boolean; clickable?: boolean; customClass?: string; colors?: { pending?: string; active?: string; complete?: string; connector?: string; }; layout?: 'horizontal' | 'vertical'; showLabels?: boolean; showNumbers?: boolean; onStepClick?: (step: StepItemConfig) => void; } declare class GenericModalComponent { private elementRef; private formBuilder; private domSanitizer; private confirmationDialogService; private alertService; ModalMode: typeof ModalMode; FieldType: typeof FieldType; isClosing: _angular_core.WritableSignal; isOpen: _angular_core.InputSignal; mode: _angular_core.InputSignal; data: _angular_core.InputSignal; fields: _angular_core.InputSignal[]>; tabs: _angular_core.InputSignal[]>; steps: _angular_core.InputSignal[]>; title: _angular_core.InputSignal; isMultiple: _angular_core.InputSignal; customTemplate: _angular_core.InputSignal | null>; customViewTemplate: _angular_core.InputSignal | null>; finalStepTemplate: _angular_core.InputSignal | null>; buttonConfig: _angular_core.InputSignal[]>; modelFactory: _angular_core.InputSignal<((data: Partial) => T) | null>; errors: _angular_core.InputSignal; validators: _angular_core.InputSignal<((data: T) => string[])[]>; customHasChanges: _angular_core.InputSignal; stepValidationEnabled: _angular_core.InputSignal; allowFreeNavigation: _angular_core.InputSignal; autoMarkCompleted: _angular_core.InputSignal; save: _angular_core.OutputEmitterRef; close: _angular_core.OutputEmitterRef; modalData: _angular_core.OutputEmitterRef; editedData: _angular_core.WritableSignal; internalErrors: _angular_core.WritableSignal; fieldErrors: _angular_core.WritableSignal<{ [key: string]: string[]; }>; isInitialized: _angular_core.WritableSignal; form: _angular_core.WritableSignal>; activeTabId: _angular_core.WritableSignal; activeStepId: _angular_core.WritableSignal; originalData: _angular_core.WritableSignal; hasUnsavedChanges: _angular_core.WritableSignal; hasTabs: _angular_core.Signal; hasSteps: _angular_core.Signal; allFields: _angular_core.Signal[]>; activeTabFields: _angular_core.Signal[]>; activeStepFields: _angular_core.Signal[]>; currentFields: _angular_core.Signal[]>; visibleFieldsForView: _angular_core.Signal[]>; dataListItems: _angular_core.Signal<{ key: string; label: string; value: T[keyof T]; formattedValue: string; visible: boolean; customTemplate: TemplateRef | ((value: any, data: T) => string) | undefined; }[]>; visibleTabs: _angular_core.Signal[]>; visibleSteps: _angular_core.Signal[]>; currentStepIndex: _angular_core.Signal; isLastStep: _angular_core.Signal; currentStep: _angular_core.Signal | null>; showSaveButton: _angular_core.Signal; currentStepErrors: _angular_core.Signal; isCurrentStepValid: _angular_core.Signal; canGoToNextStep: _angular_core.Signal; completedStepIds: _angular_core.Signal>; canNavigateFreely: _angular_core.Signal; stepsConfig: _angular_core.Signal; hasErrors: _angular_core.Signal; genericTabsConfig: _angular_core.Signal; closeButtonConfig: _angular_core.Signal; defaultCancelButtonConfig: _angular_core.Signal; defaultSaveButtonConfig: _angular_core.Signal; prevStepButtonConfig: _angular_core.Signal; nextStepButtonConfig: _angular_core.Signal; hasTabErrorsFunction: (tabId: string) => boolean; getCustomButtonConfig(button: ModalButtonConfig): ButtonConfig; private getButtonTypeFromClass; onCustomButtonClick(button: ModalButtonConfig): void; constructor(); private initializeData; private initializeActiveTabAndStep; private validateField; private mapDynamicValidatorErrors; onFieldValueChange(fieldKey: keyof T, newValue: any): void; onSelectionChange(event: { selectedItem: any; newFormValue: any; }): void; updateField(fieldKey: keyof T, value: any): void; validateAllFields(): void; validateCurrentStepFields(): void; getFieldErrors(fieldKey: keyof T): string[]; getStepErrors(step: ModalStepConfig): string[]; getFormattedValue(field: ModalFieldConfig, value: any): string; hasCustomViewTemplate(field: ModalFieldConfig): boolean; isTemplateRef(template: any): template is TemplateRef; getCustomTemplate(field: ModalFieldConfig): TemplateRef | null; getSafeHtml(field: ModalFieldConfig, value: any): SafeHtml; onSave(): void; setCustomHasChanges(hasChanges: boolean): void; private filterPayloadData; private convertEmptyStringsToNull; onClose(): void; private forceClose; getFieldConfig(field: ModalFieldConfig): ModalFieldConfig; private evaluateVisibility; private evaluateReadonly; onBlurEvent(fieldKey: keyof T): void; onTabChange(tabId: string): void; onGenericTabChange(tab: GenericTab): void; onStepChange(stepId: string): void; goToPreviousStep(): void; goToNextStep(): void; hasTabErrors(tabId: string): boolean; hasStepErrors: (stepId: string) => boolean; private detectFormChanges; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-generic-modal", never, { "isOpen": { "alias": "isOpen"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "fields": { "alias": "fields"; "required": false; "isSignal": true; }; "tabs": { "alias": "tabs"; "required": false; "isSignal": true; }; "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "isMultiple": { "alias": "isMultiple"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "customViewTemplate": { "alias": "customViewTemplate"; "required": false; "isSignal": true; }; "finalStepTemplate": { "alias": "finalStepTemplate"; "required": false; "isSignal": true; }; "buttonConfig": { "alias": "buttonConfig"; "required": false; "isSignal": true; }; "modelFactory": { "alias": "modelFactory"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "validators": { "alias": "validators"; "required": false; "isSignal": true; }; "customHasChanges": { "alias": "customHasChanges"; "required": false; "isSignal": true; }; "stepValidationEnabled": { "alias": "stepValidationEnabled"; "required": false; "isSignal": true; }; "allowFreeNavigation": { "alias": "allowFreeNavigation"; "required": false; "isSignal": true; }; "autoMarkCompleted": { "alias": "autoMarkCompleted"; "required": false; "isSignal": true; }; }, { "save": "save"; "close": "close"; "modalData": "modalData"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } interface PaginationEvent { page: number; size: number; tableId: string; } declare class PaginationService { private paginationState; private paginationChange; paginationChange$: rxjs.Observable; initialize(tableId: string, totalItems: number, pageSizeOptions?: number[]): void; getCurrentPage(tableId: string): _angular_core.WritableSignal; getPageSize(tableId: string): _angular_core.WritableSignal; getTotalItems(tableId: string): _angular_core.WritableSignal; getTotalPages(tableId: string): _angular_core.WritableSignal; getPageSizeOptions(tableId: string): number[]; setCurrentPage(tableId: string, page: number): void; setPageSize(tableId: string, size: number): void; setTotalItems(tableId: string, total: number): void; setTotalPages(tableId: string, pages: number): void; private getState; private emitPaginationChange; destroy(tableId: string): void; getCurrentPaginationParams(tableId: string): Record; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface FilterParams { [key: string]: any; } interface PaginatedResponse { items: T[]; total: number; page: number; pages: number; size: number; } declare class TableDataService { private static readonly DEFAULT_PAGE_SIZE; private modelApiService; private apiService; private loaderService; private displayedDataSubject; private currentEndpoint; private currentModelFactory; private currentFilterParams; private currentPaginationParams; private currentCustomParams; private isPaginationEnabled; private currentCustomArrayKey; private isLoading; data$: Observable>; displayedData$: Observable; setData(newData: T[]): void; getData(): T[]; getDisplayedData(): T[]; setEndpoint(endpoint: string, modelFactory: (json: any) => T, loaderId?: string, enablePagination?: boolean, customArrayKey?: string, customParams?: Record): void; private loadData; updateCustomParams(customParams: Record | undefined, loaderId?: string): void; refreshWithFilters(filterParams?: FilterParams, loaderId?: string): void; updateDisplayedData(filteredData: T[], enablePagination: boolean, paginationService: PaginationService, tableId: string, itemsLoaded: number): void; updatePagination(page: number, size: number, loaderId?: string): void; createItem(endpoint: string, item: T, modelFactory: (json: any) => T): Observable; updateItem(endpoint: string, updatedItem: T, modelFactory: (json: any) => T): Observable; deleteItem(endpoint: string, item: T): Observable; recoverItem(endpoint: string, item: T): Observable; updateFilters(filterValues: Map, loaderId?: string): void; isEndpointConfigured(): boolean; updateGlobalFilter(value: string, loaderId?: string): void; updateRowData(rowId: string | number, updatedFields: { [key: string]: any; }, updateFunction?: (row: T) => T): void; private applyFieldUpdates; private setNestedProperty; getCurrentData(): T[]; updateData(newData: T[]): void; loadDataWithParams(endpoint: string, modelFactory: (json: any) => T, params: Record, loaderId?: string, customArrayKey?: string): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration>; } declare class GenericPaginationComponent implements OnInit, OnDestroy { paginationService: PaginationService; private tableDataService; tableId: _angular_core.InputSignal; isServerSide: _angular_core.InputSignal; showPagination: _angular_core.InputSignal; showPageSizeSelector: _angular_core.InputSignal; private subscription; constructor(paginationService: PaginationService, tableDataService: TableDataService); ngOnInit(): void; ngOnDestroy(): void; getCurrentPage(): number; getPageSize(): number; getTotalItems(): number; getTotalPages(): number; getPageSizeOptions(): number[]; onPageChange(page: number): void; handlePageSizeChange(event: Event): void; getDisplayedRange(): { start: number; end: number; }; getVisiblePages(): (number | string)[]; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface GenericTabClickEvent { tab: GenericTab; index: number; originalEvent: Event; } declare class GenericTabsComponent { config: _angular_core.InputSignal; activeTabId: _angular_core.InputSignal; hasTabErrors: _angular_core.InputSignal<(tabId: string) => boolean>; tabClick: _angular_core.OutputEmitterRef; tabChange: _angular_core.OutputEmitterRef; customTabTemplate?: TemplateRef; onTabClick(tab: GenericTab, index: number, event: Event): void; isTabActive(tab: GenericTab): boolean; getTabClasses(tab: GenericTab): string; getTabLabel(tab: GenericTab): string; hasCustomTemplate(): boolean; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum DialogActions { CONFIRM = "dialog.confirm", CANCEL = "dialog.cancel" } interface ConfirmationDialogConfig { title: string; message?: string; confirmButtonText?: string; cancelButtonText?: string; messageParams?: Record; icon?: string; size?: 'default' | 'xl'; type?: 'default' | 'delete'; inputConfig?: { label: string; placeholder: string; value?: string; validationValue?: string; inputType?: 'text' | 'file'; accept?: string; }; confirmButtonClass?: string; customTemplate?: TemplateRef; customTemplateContext?: any; disableConfirm?: boolean; showCloseButton?: boolean; showCancelButton?: boolean; showConfirmButton?: boolean; customClass?: string; } declare class ConfirmationDialogService { private isOpen; isOpen$: _angular_core.Signal; private config; config$: _angular_core.Signal; private responseSubject; private response$; openDelete(title: string, message?: string, validationValue?: string): Observable; openConfirm(config: ConfirmationDialogConfig): Observable; private open; confirm(value?: string | boolean): void; cancel(): void; private close; openWithOptionalInput(title: string, message?: string, inputLabel?: string, inputPlaceholder?: string): Observable; updateConfig(config: Partial): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class ConfirmationDialogComponent { popupElement?: ElementRef; overlayElement?: ElementRef; customContentTemplate?: TemplateRef; isOpen: _angular_core.InputSignal; config: _angular_core.InputSignal; confirm: _angular_core.OutputEmitterRef; cancel: _angular_core.OutputEmitterRef; inputValue: _angular_core.WritableSignal; isClosing: _angular_core.WritableSignal; closeButtonConfig: _angular_core.Signal; cancelButtonConfig: _angular_core.Signal; confirmButtonConfig: _angular_core.Signal; get confirmButtonText(): string; get cancelButtonText(): string; get hasCustomContent(): boolean; onConfirm(): void; onCancel(): void; onInputChange(value: string): void; isConfirmDisabled(): boolean; private closeWithAnimation; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum DropdownDirection { UP = "up", DOWN = "down" } declare enum TableAction { VIEW = "view", EDIT = "edit", DELETE = "delete", RECOVER = "recover", SELECT = "select", CREATE = "create" } declare class DropdownService { private openDropdownId; dropdownState$: Observable; isDropdownOpen(id: number): boolean; openDropdown(id: number): void; closeDropdown(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface SwitchOption { value: T; icon?: string; label?: string; disabled?: boolean; tooltip?: string; } interface SwitchActionConfig { isSwitch?: boolean; switchOptions?: SwitchOption[]; switchAriaLabel?: string; } interface MobileActionConfig { isExtra?: boolean; showInHeader?: boolean; showOutsideFixedActions?: boolean; showInsideModal?: boolean; mobileLabel?: string; } interface CustomAction extends SwitchActionConfig { label?: string; title: string; icon?: string; class?: string; tooltip?: string; tooltipPosition?: 'top' | 'bottom' | 'left' | 'right'; isExtra?: boolean; callback: (row: T) => void; requiredPermission?: { resource?: string; resources?: string[]; action?: string; actions?: string[]; custom_action?: string; }; buttonConfig?: Partial; shouldShow?: (row: T) => boolean; shouldDisable?: (row: T) => boolean; switchValue?: (row: T) => any; onSwitchChange?: (value: any, row: T) => void; mobileConfig?: MobileActionConfig; } interface TableActionConfig { action: TableAction; isExtra?: boolean; icon?: string; class?: string; tooltip?: string; tooltipPosition?: 'top' | 'bottom' | 'left' | 'right'; requiredPermission?: { resource?: string; resources?: string[]; action?: string; actions?: string[]; custom_action?: string; }; shouldShow?: (row: T) => boolean; shouldDisable?: (row: T) => boolean; mobileConfig?: MobileActionConfig; } declare class DropdownComponent implements OnDestroy { private overlay; dropdownService: DropdownService; private permissionService; private viewContainerRef; private overlayRef; private subscription; currentPosition: _angular_core.WritableSignal<{ vertical: "top" | "bottom"; horizontal: "start" | "end"; direction: DropdownDirection; } | null>; rowId: _angular_core.InputSignal; triggerElementId: _angular_core.InputSignal; extraDefaultActions: _angular_core.InputSignal; extraCustomActions: _angular_core.InputSignal[]>; row: _angular_core.InputSignal; actionTriggered: _angular_core.OutputEmitterRef<{ action: TableAction; row: T; }>; customActionTriggered: _angular_core.OutputEmitterRef<{ action: CustomAction; row: T; }>; TableAction: typeof TableAction; defaultActionsConfigs: _angular_core.Signal<{ actionConfig: any; buttonConfig: ButtonConfig; }[]>; customActionsConfigs: _angular_core.Signal<{ customAction: CustomAction; buttonConfig: ButtonConfig; }[]>; dropdownMenu: TemplateRef; constructor(overlay: Overlay, dropdownService: DropdownService); ngOnDestroy(): void; private showDropdown; private detectAndSetPosition; closeDropdown(): void; triggerAction(action: TableAction): void; triggerCustomAction(action: CustomAction): void; hasPermission(action: TableActionConfig | CustomAction): boolean; private checkRequiredPermission; shouldShowAction(actionConfig: TableActionConfig): boolean; shouldShowCustomAction(customAction: CustomAction): boolean; getActionLabel(action: TableAction): string; getDefaultActionButtonConfig(actionConfig: TableActionConfig): ButtonConfig; getCustomActionButtonConfig(customAction: CustomAction): ButtonConfig; getCustomActionButtonConfigForRow(customAction: CustomAction): ButtonConfig; onButtonClick(event: ButtonActionEvent, action: any): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-dropdown", never, { "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "triggerElementId": { "alias": "triggerElementId"; "required": false; "isSignal": true; }; "extraDefaultActions": { "alias": "extraDefaultActions"; "required": false; "isSignal": true; }; "extraCustomActions": { "alias": "extraCustomActions"; "required": false; "isSignal": true; }; "row": { "alias": "row"; "required": false; "isSignal": true; }; }, { "actionTriggered": "actionTriggered"; "customActionTriggered": "customActionTriggered"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } declare enum FilterType { TEXT = "text", SELECT = "select", NUMBER = "number", CHECKBOX = "checkbox", SWITCH = "switch", SERVER_SELECT = "server-select", DATE = "date", DATETIME = "datetime", PASSWORD = "password", TEXTAREA = "textarea" } interface ConditionalVisibility { dependsOn: string; showWhen: (parentValue: any) => boolean; updateOptions?: (parentValue: any) => { value: any; label: string; }[]; } interface FilterConfig { key: keyof T | string; label: string; placeholder?: string; type: FieldType; filterFn: (row: T, value: any) => boolean; options?: { value: any; label: string; }[]; readonly?: boolean; multiple?: boolean; validators?: ValidatorFn[]; errorMessages?: { [key: string]: string; }; visible?: boolean; transformValue?: (value: any) => any; keyToPayload?: string; onValueChange?: (value: any) => void; conditionalVisibility?: ConditionalVisibility; checkboxConfig?: CheckboxFieldConfig; isDeletedFilterKey?: boolean; modes?: Partial>; } declare class FilterService { private filteredDataSubject; private globalFilterValueSubject; private customFilterValuesSubject; private sortColumnSubject; private sortDirectionSubject; private filterChangeSubject; filterChange$: rxjs.Observable; filteredData$: rxjs.Observable; globalFilterValue$: rxjs.Observable; customFilterValues$: rxjs.Observable>; sortColumn$: rxjs.Observable; sortDirection$: rxjs.Observable<"desc" | "asc" | null>; getFilteredData(): T[]; getSortColumn(): string | null; getSortDirection(): 'asc' | 'desc' | null; applyAllFilters(data: T[], customFilters: FilterConfig[], showFilter: boolean): void; applyGlobalFilter(value: string): void; applyCustomFilters(filterValues: Map): void; setCustomFilters(filterValues: Map): void; setCustomFiltersSilent(filterValues: Map): void; setGlobalFilter(value: string): void; setGlobalFilterSilent(value: string): void; sortData(columnKey: string): void; applySort(): void; getCustomFilters(): Map; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration>; } declare class FilterModalComponent implements OnChanges { private formBuilder; private elementRef; isClosing: _angular_core.WritableSignal; isOpen: _angular_core.InputSignal; filters: _angular_core.InputSignal[]>; currentFilterValues: _angular_core.InputSignal>; close: _angular_core.OutputEmitterRef; filterChange: _angular_core.OutputEmitterRef>; clearFilters: _angular_core.OutputEmitterRef; globalFilterChange: _angular_core.OutputEmitterRef; readonly FieldType: typeof FieldType; readonly ModalMode: typeof ModalMode; filterValues: _angular_core.WritableSignal>; globalFilterValue: _angular_core.WritableSignal; form: _angular_core.WritableSignal>; clearTrigger: _angular_core.WritableSignal; hasActiveFilters: _angular_core.Signal; closeButtonConfig: _angular_core.Signal; clearButtonConfig: _angular_core.Signal; applyButtonConfig: _angular_core.Signal; constructor(); ngOnChanges(changes: SimpleChanges): void; private initializeForm; private resetValues; private updateFormWithFilterValues; getFieldConfig(filter: FilterConfig): FilterConfig; visibleFilters: _angular_core.Signal[]>; getFieldValue(filterKey: string): any; updateFilter(key: string, value: any): void; updateGlobalFilterValue(value: string): void; onApply(): void; onClear(): void; onClose(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-filter-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "currentFilterValues": { "alias": "currentFilterValues"; "required": false; "isSignal": true; }; }, { "close": "close"; "filterChange": "filterChange"; "clearFilters": "clearFilters"; "globalFilterChange": "globalFilterChange"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } interface ColumnConfig { key: keyof T | string; label: string; format?: (value: any, row: T) => string; sortable?: boolean; sortKey?: string; sortFunction?: (a: any, b: any) => number; align?: string; template?: TemplateRef<{ $implicit: T; column: ColumnConfig; }>; } interface ColumnDisabledConfig { condition: (row: T) => boolean; columns?: (keyof T | string)[]; disabledClass?: string; priority?: number; } interface RowVisibilityConfig { hideCondition: (row: T) => boolean; showWhenFiltered?: (row: T, activeFilters: Map) => boolean; priority?: number; id?: string; description?: string; } interface InlineEditConfig { trigger: string; editableColumns: ModalFieldConfig[]; debounceTime?: number; shouldShowForRow?: (row: T) => boolean; getInitialValue?: (row: T, columnKey: string) => any; } interface ExpansionConfig { enabled: boolean; template: TemplateRef<{ $implicit: T; }>; expandIcon?: string; collapseIcon?: string; buttonClass?: string; } interface GlobalAction extends SwitchActionConfig { label?: string; icon?: string; class?: string; callback: (selectedRows: T[]) => void; requiresSelection?: boolean; minSelection?: number; maxSelection?: number; requiredPermission?: { resource?: string; resources?: string[]; action?: string; actions?: string[]; custom_action?: string; }; execute?: (selectedRows: T[]) => void; isDisabled?: boolean; tooltip?: string; tooltipPosition?: 'top' | 'bottom' | 'left' | 'right'; switchSelectedValue?: any; onSwitchChange?: (value: any, selectedRows: T[]) => void; mobileConfig?: MobileActionConfig; } interface MoreDataConfig { endpoint: string; key: string; model: new () => T; isSingleObject?: boolean; customArrayKey?: string; id?: any; customParams?: Record; } interface RowStyleConfig { condition: (row: T) => boolean; className: string; priority?: number; } declare enum SortDirection { ASC = "asc", DESC = "desc" } interface SortConfig { key: string; direction: SortDirection; priority?: number; } declare enum SortMode { MEMORY = "memory", SERVER = "server" } interface TableSortConfig { mode: SortMode; multiColumn?: boolean; serverSortParam?: string; customSortFunction?: (a: any, b: any, sortConfigs: SortConfig[]) => number; defaultSort?: SortConfig[]; } interface FixedActionConfig { id?: string; icon?: string; label?: string; class?: string; tooltip?: string; tooltipPosition?: 'top' | 'bottom' | 'left' | 'right'; callback?: (row?: T) => void; buttonConfig?: Partial; requiredPermission?: { resource?: string; resources?: string[]; action?: string; actions?: string[]; custom_action?: string; }; shouldShow?: (row?: T) => boolean; shouldDisable?: (row?: T) => boolean; insideActions?: Array | GlobalAction | FixedActionConfig>; customAction?: CustomAction; globalAction?: GlobalAction; } declare enum FixedActionPosition { LEFT = "left", RIGHT = "right", CENTER = "center" } interface TableFixedActionsConfig { enabled: boolean; includeCustomActions?: boolean; includeGlobalActions?: boolean; customFixedActions?: FixedActionConfig[]; mobileModalTitle?: string; mobileModalSubtitle?: string; customActionsMobileModalTitle?: string | ((row: T) => string); customActionsMobileModalSubtitle?: string | ((row: T) => string); showOnlyInMobile?: boolean; position?: FixedActionPosition; } declare class TableActionService { private selectedRowsSubject; private isModalOpenSubject; private modalModeSubject; private modalDataSubject; private modalFieldsToShowSubject; private modalTitleSubject; selectedRows$: rxjs.Observable; isModalOpen$: rxjs.Observable; modalMode$: rxjs.Observable; modalData$: rxjs.Observable; modalFieldsToShow$: rxjs.Observable[]>; modalTitle$: rxjs.Observable; getSelectedRows(): T[]; getModalMode(): ModalMode; toggleRow(row: T): void; masterToggle(displayedData: T[]): void; clearInvalidSelections(data: T[]): void; getIsModalOpen(): boolean; getModalData(): T | null; getModalFieldsToShow(): ModalFieldConfig[]; getModalTitle(): string; openModal(mode: ModalMode, row: T, fields: ModalFieldConfig[], customTitle?: string): void; private initializeDefaultData; closeModal(): void; triggerAction(action: TableAction, row?: T, fields?: ModalFieldConfig[], customTitle?: string): { action: TableAction; row?: T; } | null; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration>; } declare const MODEL_REFERENCE_SORT_KEY = "__model_reference__"; declare class TableSortService { private sortConfigsSubject; private tableSortConfig; sortConfigs$: Observable; configure(config: TableSortConfig): void; getTableSortConfig(): TableSortConfig; getCurrentSortConfigs(): SortConfig[]; isColumnSortable(column: ColumnConfig, row: T | null, disabledConfigs?: ColumnDisabledConfig[]): boolean; toggleSort(columnKey: string): void; setSortConfigs(sortConfigs: SortConfig[]): void; clearSort(): void; getColumnSortState(columnKey: string): SortDirection | null; getColumnSortPriority(columnKey: string): number | null; sortDataInMemory(data: T[], columns: ColumnConfig[]): T[]; generateServerSortParams(): Record; isServerMode(): boolean; isMultiColumnEnabled(): boolean; private getNestedValue; private getModelReferenceValue; private compareValues; reset(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class TableFixedActionsService { private actionsMap; private activeTableId; setFixedActions(tableId: string, actions: FixedActionConfig[]): void; getActiveTableId(): string | null; setActiveTableId(tableId: string | null): void; getFixedActions(tableId: string): FixedActionConfig[]; getActiveTableActions(): FixedActionConfig[]; getFixedActionsSignal(tableId: string): _angular_core.Signal[]>; getActiveTableActionsSignal(): _angular_core.Signal[]>; getAllFixedActions(): FixedActionConfig[]; getAllFixedActionsSignal(): _angular_core.Signal[]>; clearFixedActions(tableId: string): void; clearAllFixedActions(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class PermissionModel implements DataBaseModelInterface { id?: string | undefined; name?: string | undefined; description?: string | undefined; resource?: string | undefined; action?: string | undefined; is_active?: boolean | undefined; custom_action?: string | null | undefined; constructor(id?: string | undefined, name?: string | undefined, description?: string | undefined, resource?: string | undefined, action?: string | undefined, is_active?: boolean | undefined, custom_action?: string | null | undefined); fromJSON(json: any): PermissionModel; fromJSONList(json: any): PermissionModel[]; toJSON(): { id: string | undefined; name: string | undefined; description: string | undefined; resource: string | undefined; action: string | undefined; is_active: boolean | undefined; custom_action: string | null | undefined; }; getId(): string; getReference(): string; } declare class RoleModel implements DataBaseModelInterface { id?: string | undefined; name?: string | undefined; description?: string | undefined; is_active?: boolean | undefined; permissions?: PermissionModel[] | undefined; users?: UsersModel[] | undefined; constructor(id?: string | undefined, name?: string | undefined, description?: string | undefined, is_active?: boolean | undefined, permissions?: PermissionModel[] | undefined, users?: UsersModel[] | undefined); fromJSON(json: any): RoleModel; fromJSONList(json: any): RoleModel[]; toJSON(): { id: string | undefined; name: string | undefined; description: string | undefined; is_active: boolean | undefined; permissions: PermissionModel[] | undefined; users: UsersModel[] | undefined; }; getId(): string; getReference(): string; } interface CompanyInfo { id: string; name: string; legal_name: string; status: 'active' | 'inactive' | 'onboarding'; } declare class UsersModel implements DataBaseModelInterface { id?: string | undefined; username?: string | undefined; email?: string | undefined; first_name?: string | undefined; last_name?: string | undefined; password?: string | undefined; company_id?: string | null | undefined; roles?: RoleModel[] | undefined; role_ids?: string[] | undefined; is_admin?: boolean | undefined; company?: (CompanyInfo | null) | undefined; constructor(id?: string | undefined, username?: string | undefined, email?: string | undefined, first_name?: string | undefined, last_name?: string | undefined, password?: string | undefined, company_id?: string | null | undefined, roles?: RoleModel[] | undefined, role_ids?: string[] | undefined, is_admin?: boolean | undefined, company?: (CompanyInfo | null) | undefined); fromJSON(json: any): UsersModel; fromJSONList(json: any): UsersModel[]; toJSON(): { id: string | undefined; username: string | undefined; email: string | undefined; first_name: string | undefined; last_name: string | undefined; password: string | undefined; company_id: string | null | undefined; roles: RoleModel[] | undefined; role_ids: string[] | undefined; is_admin: boolean | undefined; company: CompanyInfo | null | undefined; }; getId(): string; getReference(): string; } declare class FileTemplateType implements DataBaseModelInterface { id: string; code: string; constructor(data?: Partial); fromJSON(json: any): FileTemplateType; toJSON(): any; getId(): string; getReference(): string; } declare class FileModel implements DataBaseModelInterface { id: string; filename: string; s3_key: string; size: number; type: string; file_type: FileTemplateType; uploaded_by_id: string; created_at: string; updated_at: string; uploaded_by: UsersModel; constructor(data?: Partial); fromJSON(json: any): FileModel; static fromJSONList(json: any[]): FileModel[]; toJSON(): any; getId(): string; getReference(): string; } interface CustomHeader { [header: string]: string; } interface ApiConfig { apiUrl: string; filesPresignedUrl?: string; filesConfirmUploadUrl?: string; filesDownloadUrl?: string; updateWithPatch?: boolean; customPostHeader?: CustomHeader[]; customPutHeader?: CustomHeader[]; customPatchHeader?: CustomHeader[]; customDeleteHeader?: CustomHeader[]; customGetHeader?: CustomHeader[]; } declare class ModelApiService { private apiService; private loaderService; private router; private alertService; private fileUploadService; private globalApiConfigService; private headerConfigService; private routerSubscription; private dataSubject; private moreDataSubjects; private customErrorHandler?; private currentContext?; private currentEndpoint?; data$: Observable>; customArrayDataKey: BehaviorSubject; customArrayDataKey$: Observable; constructor(); resetData(): void; setContext(contextKey: string): void; setEndpoint(endpoint: string): void; private getProcessedHeaders; setErrorHandler(handler?: (error: any, defaultMessage: string, operation: string) => string): void; private extractErrorMessage; loadData(endpoint: string, modelFactory: (json: any) => T, filterParams?: FilterParams, customArrayKey?: string): void; private buildQueryString; loadMoreData(configs: MoreDataConfig[]): void; getMoreData(key: string): any[]; getMoreDataSingleObject(key: string): any | null; getMoreDataObservable(key: string): Observable; getMoreDataSingleObjectObservable(key: string): Observable; private callApiWithHeaders; createItem(endpoint: string, item: T, modelFactory: (json: any) => T): Observable; updateItem(endpoint: string, id: number | string, item: T, modelFactory: (json: any) => T): Observable; getItemById(endpoint: string, id: number | string, modelFactory: (json: any) => T): Observable; deleteItem(endpoint: string, id: number | string): Observable; deleteItems(endpoint: string, ids: (number | string)[]): Observable; getData(): T[]; refreshData(endpoint: string, modelFactory: (json: any) => T): void; uploadFile(file: File, companyId: string, fileType: FileType): Observable; uploadMultipleFiles(files: File[], companyId: string, fileType: FileType): Observable; getPresignedDownloadUrl(fileId: string): Observable; getPresignedFile(fileId: string, download?: boolean, filename?: string): Observable; ngOnDestroy(): void; configureApiUrl(apiUrl: string): void; configureApi(config: ApiConfig): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration>; } interface FileUploadConfig { fileType?: FileType; fileTypeResolver?: (data: any) => FileType; companyIdSource?: string; staticCompanyId?: string; enabled: boolean; } interface HeaderElementConfig { type: HeaderElementType; visible?: boolean; position?: number; actionId?: string | number; actionType?: 'global' | 'custom' | 'switch'; } interface HeaderOrderConfig { elements?: HeaderElementConfig[]; useCustomOrder?: boolean; } declare class InlineEditService { isInlineEditMode: _angular_core.WritableSignal; editingRows: _angular_core.WritableSignal>; editingCells: _angular_core.WritableSignal>; editingErrors: _angular_core.WritableSignal>; private processingCells; private pendingSaveCells; private immediateSaveSubject; private subscriptions; private inlineEditConfig; private onInlineEditSaveCallback?; private onInlineEditModeChangedCallback?; private onInlineEditValidationErrorCallback?; private getDisplayedDataCallback?; constructor(); initialize(config: { inlineEditConfig?: InlineEditConfig; onInlineEditSave: (event: { row: T; column: string; value: any; allChanges: Map; }) => void; onInlineEditModeChanged: (mode: boolean) => void; onInlineEditValidationError: (event: { rowId: number; column: string; errors: string[]; }) => void; getDisplayedData: () => T[]; }): void; private setupSubscriptions; updateConfig(config?: InlineEditConfig): void; toggleInlineEditMode(): void; toggleRowEditMode(rowId: number): void; isRowInEditMode(rowId: number): boolean; isCellProcessing(row: T, column: ColumnConfig): boolean; setCellProcessing(row: T, column: ColumnConfig, isProcessing: boolean): void; isColumnEditable(column: ColumnConfig, row?: T): boolean; getCellKey(row: T, column: ColumnConfig): string; getEditingValue(row: T, column: ColumnConfig): any; ensureCellInitialized(row: T, column: ColumnConfig): void; onCellValueChange(row: T, column: ColumnConfig, value: any): void; private normalizeValue; private validateCellValue; private resolveValidators; getCellErrors(row: T, column: ColumnConfig): string[]; private performInlineEdit; getInlineEditableConfig(column: ColumnConfig): ModalFieldConfig | undefined; getInlineEditableConfigWithState(row: T, column: ColumnConfig): ModalFieldConfig | undefined; onCellBlur(row: T, column: ColumnConfig): void; onCellEnter(row: T, column: ColumnConfig): void; private performSave; destroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration>; } interface ManualRefreshConfig { id?: string; showLastUpdate?: boolean; dateFormat?: Intl.DateTimeFormatOptions; lastUpdateLabel?: string; customDateFormatter?: (date: Date) => string; } declare class CoreManualRefreshComponent implements OnInit, OnDestroy { config: _angular_core.InputSignal; refreshId: _angular_core.InputSignal; onRefresh: _angular_core.OutputEmitterRef; timestampUpdated: _angular_core.OutputEmitterRef; private manualRefreshService; private effectRef?; computedRefreshId: _angular_core.Signal; ariaLabel: _angular_core.Signal; lastUpdateLabel: _angular_core.Signal; lastUpdateTimeString: _angular_core.Signal; constructor(); ngOnInit(): void; ngOnDestroy(): void; onRefreshClick(): void; updateTimestamp(date?: Date): void; getLastUpdateTime(): string | null; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class GenericTableComponent implements OnInit, OnDestroy, AfterViewInit { paginationService: PaginationService; tableDataService: TableDataService; filterService: FilterService; tableActionService: TableActionService; modelApiService: ModelApiService; loaderService: LoaderService; private router; private confirmationDialogService; private permissionService; private dropdownService; private headerService; inlineEditService: InlineEditService; tableSortService: TableSortService; private activeFiltersEventService; private mobileResolutionService; private fixedActionsMobileModalService; private translationService; private tableFixedActionsService; TableAction: typeof TableAction; ModalMode: typeof ModalMode; ButtonType: typeof ButtonType; FieldType: typeof FieldType; SortDirection: typeof SortDirection; tableId: string; columns: _angular_core.InputSignal[]>; modalFields: _angular_core.InputSignal[]>; modalTabs: _angular_core.InputSignal[]>; actions: _angular_core.InputSignal[]>; customActions: _angular_core.InputSignal[]>; globalActions: _angular_core.InputSignal[]>; pageSizeOptions: _angular_core.InputSignal; showFilter: _angular_core.InputSignal; showSelection: _angular_core.InputSignal; showActions: _angular_core.InputSignal; showCreateButton: _angular_core.InputSignal; filterButtonConfig: _angular_core.InputSignal | undefined>; createButtonConfig: _angular_core.InputSignal | undefined>; createButtonText: _angular_core.InputSignal; dataInput: _angular_core.InputSignal; customFilters: _angular_core.InputSignal[]>; enablePagination: _angular_core.InputSignal; modelFactory: _angular_core.InputSignal<((data: any) => T) | undefined>; endpoint: _angular_core.InputSignal; customParams: _angular_core.InputSignal | undefined>; customArrayKey: _angular_core.InputSignal; listTitle: _angular_core.InputSignal; moreData: _angular_core.InputSignal[]>; inModal: _angular_core.InputSignal; expansionConfig: _angular_core.InputSignal | undefined>; fileUploadConfig: _angular_core.InputSignal; rowStyleConfigs: _angular_core.InputSignal[]>; columnDisabledConfigs: _angular_core.InputSignal[]>; rowVisibilityConfigs: _angular_core.InputSignal[]>; headerOrder: _angular_core.InputSignal; showActiveFilters: _angular_core.InputSignal; activeFiltersConfig: _angular_core.InputSignal; sortConfig: _angular_core.InputSignal; showManualRefresh: _angular_core.InputSignal; manualRefreshConfig: _angular_core.InputSignal | undefined>; refreshButtonConfig: _angular_core.InputSignal | undefined>; fixedActionsConfig: _angular_core.InputSignal | undefined>; deletedFilterKey: _angular_core.InputSignal; scrollTable: _angular_core.InputSignal; customEdit: _angular_core.InputSignal<((item: T) => void) | undefined>; customDelete: _angular_core.InputSignal<((item: T) => void) | undefined>; customView: _angular_core.InputSignal<((item: T) => void) | undefined>; customSave: _angular_core.InputSignal<((item: T, mode: ModalMode) => void) | undefined>; useCustomSave: _angular_core.InputSignal; onApiError: _angular_core.InputSignal<((error: any, defaultMessage: string, operation: string) => string) | undefined>; actionTriggered: _angular_core.OutputEmitterRef<{ action: TableAction; row?: T; }>; selectionChanged: _angular_core.OutputEmitterRef; dataCreated: _angular_core.OutputEmitterRef; dataUpdated: _angular_core.OutputEmitterRef; dataDeleted: _angular_core.OutputEmitterRef; dataFetched: _angular_core.OutputEmitterRef; onMoreDataLoaded: _angular_core.OutputEmitterRef>; globalActionTriggered: _angular_core.OutputEmitterRef<{ action: GlobalAction; selectedRows: T[]; }>; modalData: _angular_core.OutputEmitterRef; beforeSave: _angular_core.OutputEmitterRef<{ data: T; mode: ModalMode; }>; onFilterChange: _angular_core.OutputEmitterRef>; onClearFilters: _angular_core.OutputEmitterRef; activeFilterRemoved: _angular_core.OutputEmitterRef; activeFiltersCleared: _angular_core.OutputEmitterRef; dataRefreshed: _angular_core.OutputEmitterRef; hasTabs: _angular_core.Signal; allModalFields: _angular_core.Signal[]>; displayedColumns: _angular_core.Signal; infiniteScrollPageSize: _angular_core.WritableSignal; itemsLoaded: _angular_core.WritableSignal; displayedData: _angular_core.WritableSignal; originalUnsortedData: _angular_core.WritableSignal; selectedRows: _angular_core.WritableSignal; expandedRows: _angular_core.WritableSignal>; newlyModifiedItems: _angular_core.WritableSignal>; initialTotalFromApi: _angular_core.WritableSignal; shouldShowPagination: _angular_core.Signal; shouldShowPageSizeSelector: _angular_core.Signal; regularCustomActions: _angular_core.Signal[]>; extraCustomActions: _angular_core.Signal[]>; getVisibleCustomActions(row: T, isExtra?: boolean): CustomAction[]; getVisibleDefaultActions(row: T, isExtra?: boolean): TableActionConfig[]; getOutsideFixedActionsForRow(row: T): Array<{ type: 'table' | 'global' | 'custom'; config: TableActionConfig | GlobalAction | CustomAction; }>; private getMobileShowInHeader; private getMobileShowOutsideFixedActions; private getMobileShowInsideModal; private getMobileIsExtra; hasExtraCustomActions: _angular_core.Signal; regularDefaultActions: _angular_core.Signal[]>; extraDefaultActions: _angular_core.Signal[]>; hasExtraDefaultActions: _angular_core.Signal; hasExtraActions: _angular_core.Signal; currentFilterValues: _angular_core.WritableSignal>; currentActiveFilters: _angular_core.Signal; isDeletedFilterActive: _angular_core.Signal; shouldShowFixedActions: _angular_core.Signal; shouldShowManualRefresh: _angular_core.Signal; fixedActionsArray: _angular_core.Signal[]>; hasExtraActionsForRow(row: T): boolean; currentSortColumn: _angular_core.WritableSignal; currentSortDirection: _angular_core.WritableSignal<"desc" | "asc" | null>; sentinel: ElementRef; dropdownTrigger?: ElementRef; dropdown?: DropdownComponent; manualRefreshComponent?: CoreManualRefreshComponent; private observer; private subscriptions; private isInitialized; isFilterModalOpen: _angular_core.WritableSignal; activeSubmenuId: _angular_core.WritableSignal; private readonly MAIN_DATA_LOADER_ID; private readonly MORE_DATA_LOADER_PREFIX; private readonly FILTER_LOADER_ID; private readonly LOADER_TIMEOUT; private loadingStates; private loaderTimeouts; inlineEditConfig: _angular_core.InputSignal | undefined>; inlineEditSave: _angular_core.OutputEmitterRef<{ row: T; column: string; value: any; allChanges: Map; }>; inlineEditModeChanged: _angular_core.OutputEmitterRef; inlineEditValidationError: _angular_core.OutputEmitterRef<{ rowId: number; column: string; errors: string[]; }>; private handlePopstate; private handleFilterRequested; private handleCreateRequested; private handleGlobalActionTriggered; onBeforeUnload(event: BeforeUnloadEvent): void; constructor(); private processDataInput; ngOnInit(): void; private applyDefaultSortIfNeeded; private updateDisplayedDataFromServer; private updatePaginationForVisibleData; applyGlobalFilter(event: Event | string): void; applyCustomFilters(filterValues: Map): void; sortData(column: ColumnConfig): void; getSortTitle(column: ColumnConfig): string; private resetToOriginalOrder; private sortCurrentData; isAllSelected(): boolean; masterToggle(): void; toggleRow(row: T): void; isRowSelected(row: T): boolean; getFormattedValue(row: T, column: ColumnConfig): string; private isEmptyValue; hasAction(action: TableAction): boolean; triggerAction(action: TableAction, row?: T): void; triggerCustomAction(action: CustomAction, row: T): void; onCustomActionSwitchChange(value: any, action: CustomAction, row: T): void; triggerGlobalAction(action: GlobalAction): void; isGlobalActionDisabled(action: GlobalAction): boolean; onFixedActionClick(action: FixedActionConfig): void; private openFixedActionsMobileModal; private openCustomActionsMobileModal; private getDefaultIconForAction; shouldShowFixedAction(action: FixedActionConfig): boolean; isFixedActionDisabled(action: FixedActionConfig): boolean; getFixedActionClass(action: FixedActionConfig): string; getFixedActionTooltip(action: FixedActionConfig): string | undefined; onModalSave(updatedData: T): void; private hasFileUploadConfig; private isServerFile; private getCompanyId; private getFileType; private handleFileUploadsAndSave; private createSafePayload; private performSaveOperation; markItemAsNewlyModified(itemId: number | string): void; closeModal(): void; emitDataEvent(data: T, mode: ModalMode): void; getRowId(row: T): number; hasPermission(action: TableActionConfig | CustomAction | GlobalAction): boolean; private checkRequiredPermission; showFiltersPopup(): void; closeFiltersPopup(): void; handleFilterChange(filterValues: Map): void; private transformFiltersForPayload; handleClearFilters(): void; toggleSubmenu(rowId: number, event: Event): void; closeSubmenu(): void; getActionLabel(action: TableAction): string; toggleRowExpansion(row: T): void; isRowExpanded(row: T): boolean; getExpansionIcon(row: T): string; getRowClasses(row: T): string; isRowDisabled(row: T): boolean; isColumnDisabledForRow(row: T, column: ColumnConfig): boolean; getCellDisabledClasses(row: T, column: ColumnConfig): string; isRowVisible(row: T): boolean; private applyRowVisibilityFilter; private moveDisabledRowsToEnd; private generateActiveFilters; private formatFilterValue; onActiveFilterRemove(filter: ActiveFilterItem): void; onActiveFiltersClear(): void; private handleFilterRemoved; private handleFilterDependencies; private handleFiltersCleared; private updateHeaderService; private buildAndSetHeaderActions; private getGlobalActionButtonConfig; private getHeaderActionButtonConfig; onColumnHeaderClick(column: ColumnConfig): void; isColumnSortable(column: ColumnConfig): boolean; getColumnSortState(column: ColumnConfig): SortDirection | null; getColumnSortPriority(column: ColumnConfig): number | null; isMultiColumnSortEnabled(): boolean; getSortButtonTitle(column: ColumnConfig): string; private handleSortChange; private applySortingInMemory; private reloadDataWithCurrentParams; private getFilterParams; private getCleanedCustomParams; ngOnDestroy(): void; ngAfterViewInit(): void; setupInfiniteScroll(): void; loadMoreItems(): void; onModalData(data: T): void; getExpandButtonConfig(row: T): ButtonConfig; private getDefaultTooltipPosition; getActionButtonConfig(action: TableAction, actionConfig: TableActionConfig, row?: T): ButtonConfig; getCustomActionButtonConfig(customAction: CustomAction): ButtonConfig; getCustomActionButtonConfigForRow(customAction: CustomAction, row: T): ButtonConfig; getMoreActionsButtonConfig(rowId: number): ButtonConfig; getOutsideFixedActionButtonConfig(item: { type: 'table' | 'global' | 'custom'; config: TableActionConfig | GlobalAction | CustomAction; }, row: T): ButtonConfig; onOutsideFixedActionClick(event: ButtonActionEvent, item: { type: 'table' | 'global' | 'custom'; config: TableActionConfig | GlobalAction | CustomAction; }, row: T): void; onButtonClick(event: ButtonActionEvent, action: any, row?: T): void; onExpandButtonClick(event: ButtonActionEvent, row: T): void; onMoreActionsClick(event: ButtonActionEvent, rowId: number): void; private sortDataByReference; private startLoaderTimeout; private clearLoaderTimeout; private checkAndHideLoader; toggleInlineEditMode(): void; toggleRowEditMode(rowId: number): void; isRowInEditMode(rowId: number): boolean; isCellProcessing(row: T, column: ColumnConfig): boolean; setCellProcessing(row: T, column: ColumnConfig, isProcessing: boolean): void; isColumnEditable(column: ColumnConfig, row?: T): boolean; getCellKey(row: T, column: ColumnConfig): string; getEditingValue(row: T, column: ColumnConfig): any; onCellValueChange(row: T, column: ColumnConfig, value: any): void; getCellErrors(row: T, column: ColumnConfig): string[]; getInlineEditableConfig(column: ColumnConfig): ModalFieldConfig | undefined; getInlineEditableConfigWithState(row: T, column: ColumnConfig): ModalFieldConfig | undefined; onCellBlur(row: T, column: ColumnConfig): void; onCellEnter(row: T, column: ColumnConfig): void; updateRowData(rowId: string | number, updatedFields: { [key: string]: any; }, updateFunction?: (row: T) => T): void; onManualRefresh(): void; private getRefreshParams; getManualRefreshConfig(): ManualRefreshConfig; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-generic-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "modalFields": { "alias": "modalFields"; "required": false; "isSignal": true; }; "modalTabs": { "alias": "modalTabs"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": true; "isSignal": true; }; "customActions": { "alias": "customActions"; "required": false; "isSignal": true; }; "globalActions": { "alias": "globalActions"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showFilter": { "alias": "showFilter"; "required": false; "isSignal": true; }; "showSelection": { "alias": "showSelection"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "showCreateButton": { "alias": "showCreateButton"; "required": false; "isSignal": true; }; "filterButtonConfig": { "alias": "filterButtonConfig"; "required": false; "isSignal": true; }; "createButtonConfig": { "alias": "createButtonConfig"; "required": false; "isSignal": true; }; "createButtonText": { "alias": "createButtonText"; "required": false; "isSignal": true; }; "dataInput": { "alias": "dataInput"; "required": false; "isSignal": true; }; "customFilters": { "alias": "customFilters"; "required": false; "isSignal": true; }; "enablePagination": { "alias": "enablePagination"; "required": false; "isSignal": true; }; "modelFactory": { "alias": "modelFactory"; "required": false; "isSignal": true; }; "endpoint": { "alias": "endpoint"; "required": false; "isSignal": true; }; "customParams": { "alias": "customParams"; "required": false; "isSignal": true; }; "customArrayKey": { "alias": "customArrayKey"; "required": false; "isSignal": true; }; "listTitle": { "alias": "listTitle"; "required": false; "isSignal": true; }; "moreData": { "alias": "moreData"; "required": false; "isSignal": true; }; "inModal": { "alias": "inModal"; "required": false; "isSignal": true; }; "expansionConfig": { "alias": "expansionConfig"; "required": false; "isSignal": true; }; "fileUploadConfig": { "alias": "fileUploadConfig"; "required": false; "isSignal": true; }; "rowStyleConfigs": { "alias": "rowStyleConfigs"; "required": false; "isSignal": true; }; "columnDisabledConfigs": { "alias": "columnDisabledConfigs"; "required": false; "isSignal": true; }; "rowVisibilityConfigs": { "alias": "rowVisibilityConfigs"; "required": false; "isSignal": true; }; "headerOrder": { "alias": "headerOrder"; "required": false; "isSignal": true; }; "showActiveFilters": { "alias": "showActiveFilters"; "required": false; "isSignal": true; }; "activeFiltersConfig": { "alias": "activeFiltersConfig"; "required": false; "isSignal": true; }; "sortConfig": { "alias": "sortConfig"; "required": false; "isSignal": true; }; "showManualRefresh": { "alias": "showManualRefresh"; "required": false; "isSignal": true; }; "manualRefreshConfig": { "alias": "manualRefreshConfig"; "required": false; "isSignal": true; }; "refreshButtonConfig": { "alias": "refreshButtonConfig"; "required": false; "isSignal": true; }; "fixedActionsConfig": { "alias": "fixedActionsConfig"; "required": false; "isSignal": true; }; "deletedFilterKey": { "alias": "deletedFilterKey"; "required": false; "isSignal": true; }; "scrollTable": { "alias": "scrollTable"; "required": false; "isSignal": true; }; "customEdit": { "alias": "customEdit"; "required": false; "isSignal": true; }; "customDelete": { "alias": "customDelete"; "required": false; "isSignal": true; }; "customView": { "alias": "customView"; "required": false; "isSignal": true; }; "customSave": { "alias": "customSave"; "required": false; "isSignal": true; }; "useCustomSave": { "alias": "useCustomSave"; "required": false; "isSignal": true; }; "onApiError": { "alias": "onApiError"; "required": false; "isSignal": true; }; "inlineEditConfig": { "alias": "inlineEditConfig"; "required": false; "isSignal": true; }; }, { "actionTriggered": "actionTriggered"; "selectionChanged": "selectionChanged"; "dataCreated": "dataCreated"; "dataUpdated": "dataUpdated"; "dataDeleted": "dataDeleted"; "dataFetched": "dataFetched"; "onMoreDataLoaded": "onMoreDataLoaded"; "globalActionTriggered": "globalActionTriggered"; "modalData": "modalData"; "beforeSave": "beforeSave"; "onFilterChange": "onFilterChange"; "onClearFilters": "onClearFilters"; "activeFilterRemoved": "activeFilterRemoved"; "activeFiltersCleared": "activeFiltersCleared"; "dataRefreshed": "dataRefreshed"; "inlineEditSave": "inlineEditSave"; "inlineEditModeChanged": "inlineEditModeChanged"; "inlineEditValidationError": "inlineEditValidationError"; }, never, never, true, [{ directive: typeof CoreHostDirective; inputs: {}; outputs: {}; }]>; } interface Alert { type: AlertType; message: string; icon?: string; autoClose?: boolean; duration?: number; inBottom?: boolean; customTemplate?: TemplateRef; templateContext?: any; } declare class AlertService { private alerts; alerts$: _angular_core.Signal; show(alert: Alert): void; remove(alertToRemove: Alert): void; private getDefaultIcon; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class AlertContainerComponent { protected alertService: AlertService; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class AlertComponent { alert: _angular_core.InputSignal; private alertService; alertClass: _angular_core.Signal<"" | "context:error" | "context:success" | "context:highlight" | "context:waiting">; close(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum DocumentAction { DOWNLOAD = "download", DELETE = "delete", HELP = "help", UPLOAD = "upload" } declare enum DocumentDisplayMode { GRID = "grid", LIST = "list" } interface DocumentItem { id: string | number; name: string; description?: string; uploadedBy: string; uploadedDate: Date | string; downloadUrl?: string; fileSize?: string; fileType?: string; canDelete?: boolean; canDownload?: boolean; hasHelp?: boolean; [key: string]: any; } interface DocumentActionEvent { action: DocumentAction; document: DocumentItem; event?: Event; } interface DocumentConfig { displayMode: DocumentDisplayMode; showUploadDate?: boolean; showUploadedBy?: boolean; showDescription?: boolean; allowDownload?: boolean; allowDelete?: boolean; allowHelp?: boolean; customDateFormat?: string; emptyStateMessage?: string; emptyStateIcon?: string; } declare class GenericDocumentationComponent implements OnInit, OnDestroy { DocumentDisplayMode: typeof DocumentDisplayMode; DocumentAction: typeof DocumentAction; documents: _angular_core.InputSignal; config: _angular_core.InputSignal; loading: _angular_core.InputSignal; permissions: _angular_core.InputSignal<{ canDownload?: boolean; canDelete?: boolean; canHelp?: boolean; canUpload?: boolean; }>; actionTriggered: _angular_core.OutputEmitterRef; uploadRequested: _angular_core.OutputEmitterRef; hasDocuments: _angular_core.Signal; displayMode: _angular_core.Signal; isGridMode: _angular_core.Signal; isListMode: _angular_core.Signal; selectedDocuments: _angular_core.WritableSignal; uploadButtonConfig: _angular_core.Signal; constructor(); ngOnInit(): void; ngOnDestroy(): void; getDownloadButtonConfig(document: DocumentItem): ButtonConfig; getDeleteButtonConfig(document: DocumentItem): ButtonConfig; getHelpButtonConfig(document: DocumentItem): ButtonConfig; onButtonClick(action: DocumentAction, document: DocumentItem, event?: Event): void; onDocumentAction(action: DocumentAction, document: DocumentItem, event?: Event): void; onUploadClick(event: Event): void; canPerformAction(action: DocumentAction, document: DocumentItem): boolean; canUpload(): boolean; formatDate(date: Date | string): string; getFileIcon(document: DocumentItem): string; trackByDocumentId(index: number, document: DocumentItem): string | number; getEmptyStateIcon(): string; getEmptyStateMessage(): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface SidebarSubItem { id: string; label: string; disabled?: boolean; active?: boolean; action?: () => void; } interface SidebarItem { id: string; label: string; icon?: string; disabled?: boolean; active?: boolean; children?: SidebarSubItem[]; action?: () => void; } interface SidebarBackButton { label: string; labelNeedsTranslation?: boolean; action: () => void; } interface SidebarResponsiveConfig { maxMobileBreakpoint?: number; minMobileBreakpoint?: number; mobileType?: SidebarMobileType; maxScrollItems?: number; modalButtons?: ModalButtonConfig[]; } interface SidebarComponentConfig { title?: string; titleNeedsTranslation?: boolean; backButton?: SidebarBackButton; items?: SidebarItem[]; customTemplate?: TemplateRef; templateKey?: string; responsiveConfig?: SidebarResponsiveConfig; isInsideNav?: boolean; } declare class SidebarService { private layoutService; private currentLeftConfig; private currentRightConfig; setLeftSidebarConfig(config: SidebarComponentConfig, width?: SidebarWidth, height?: SidebarHeight): void; hideLeftSidebar(): void; setRightSidebarConfig(config: SidebarComponentConfig, width?: SidebarWidth, height?: SidebarHeight): void; hideRightSidebar(): void; getCurrentLeftConfig(): SidebarComponentConfig | null; getCurrentRightConfig(): SidebarComponentConfig | null; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class SidebarMobileModalService { private isModalOpen; private modalConfig; isOpen(): boolean; openModal(config: SidebarComponentConfig): void; closeModal(): void; getModalState(): { isOpen: _angular_core.Signal; config: _angular_core.Signal; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface DateFieldConfig { showCalendarIcon?: boolean; } interface DateModalFieldConfig extends ModalFieldConfig { dateConfig?: DateFieldConfig; } interface SwitchFieldConfig { label?: string; labelOff?: string; labelOn?: string; } interface SwitchModalFieldConfig extends ModalFieldConfig { switchConfig?: SwitchFieldConfig; } interface AddressModel { [key: string]: any; id: string; name: string; address: string; mailbox: string | null; postal_code: string; department: string; country: string; } interface ApiResponse { data: T[]; total_items: number; page: number; size: number; page_count: number; } interface ConfirmUploadRequest { s3_key: string; filename: string; content_type: string; size: number; file_type_code: FileType; company_id: string; } interface DynamicFieldsHelperConfig { fields: ModalFieldConfig[]; initialData?: Partial; modelFactory?: (data: Partial) => T; customValidators?: ((data: T) => string[])[]; onDataChange?: (data: T) => void; onValidationChange?: (errors: Record) => void; } interface DynamicFieldsHelperState { editedData: Signal; fieldErrors: Signal>; hasUnsavedChanges: Signal; isValid: Signal; } interface DynamicFieldsHelperMethods { getFieldValue(fieldKey: keyof T): any; onFieldValueChange(fieldKey: keyof T, value: any): void; onFieldBlur(fieldKey: keyof T): void; getFieldErrors(fieldKey: keyof T): string[]; validateAllFields(): boolean; validateField(fieldKey: keyof T): void; reset(): void; setData(data: Partial): void; getPayloadData(): T | null; } interface HeaderActionConfig { id: string; label: string; icon?: string; class?: string; callback: () => void; visible?: boolean | (() => boolean); disabled?: boolean; tooltip?: string; tooltipPosition?: 'top' | 'bottom' | 'left' | 'right'; requiredPermission?: { resource?: string; resources?: string[]; action?: string; actions?: string[]; custom_action?: string; }; mobileConfig?: MobileActionConfig; } interface HeaderConfig { title?: string; text?: string; visible?: boolean; showDefaultFilter?: boolean; showDefaultCreate?: boolean; customActions?: HeaderActionConfig[]; globalActions?: any[]; customFilters?: any[]; hasCreatePermission?: boolean; headerOrder?: HeaderOrderConfig; customTemplate?: TemplateRef; filterButtonConfig?: Partial; createButtonConfig?: Partial; createButtonText?: string; globalCustomClass?: string; headerOutside?: boolean; refreshCallback?: () => void; } interface HeaderAction { id: string; buttonConfig: ButtonConfig; callback: () => void; } interface ModalValidationResult { fieldErrors: string[]; internalErrors: string[]; } interface PermissionProvider { hasPermission(resource: string | undefined, action: string, custom_action?: string): boolean; setUser(user: any): void; getUser(): any; isAdmin?(): boolean; } interface PermissionResourcesProvider { [key: string]: string; } interface PermissionActionsProvider { [key: string]: string; } interface PresignedDownloadUrlResponse { url: string; } interface PresignedUrlRequest { company_id: string; file_type_code: FileType; filename: string; content_type: string; } interface PresignedUrlResponse { url: string; s3_key: string; filename: string; } interface SidebarConfig { visibility: SidebarVisibility; width: SidebarWidth; height: SidebarHeight; } interface LayoutConfig { layout: LayoutType; sidebarLeft: SidebarConfig; sidebarRight: SidebarConfig; } interface LayoutDataAttributes { 'data-layout': LayoutType; 'data-sidebar-left': SidebarVisibility; 'data-sidebar-left-w': SidebarWidth; 'data-sidebar-left-h': SidebarHeight; 'data-sidebar-right': SidebarVisibility; 'data-sidebar-right-w': SidebarWidth; 'data-sidebar-right-h': SidebarHeight; } interface SidebarComponentEvents { itemClicked?: (item: SidebarItem) => void; subItemClicked?: (subItem: SidebarSubItem) => void; } interface SidebarCustomModalConfig { component?: Type; template?: TemplateRef; data?: any; closeOnBackdrop?: boolean; customClass?: string; onClose?: () => void; } interface AdditionalPermissionResources { [key: string]: string; } interface ExtendedPermissionProvider { additionalResources?: AdditionalPermissionResources; getAdditionalResources?(): AdditionalPermissionResources; customResources?: AdditionalPermissionResources; extendedResources?: AdditionalPermissionResources; resources?: AdditionalPermissionResources; RESOURCES?: AdditionalPermissionResources; getCustomResources?(): AdditionalPermissionResources; getResources?(): AdditionalPermissionResources; } interface RatingConfig { totalStars: number; title?: string; defaultLabel?: string; defaultRating?: number; endpoint?: string; starLabels?: { [key: number]: string; }; showLabels?: boolean; readonly?: boolean; } declare enum RatingSize { SMALL = "small", MEDIUM = "medium", LARGE = "large" } declare enum RatingType { STARS = "stars", NUMBERS = "numbers", CUSTOM = "custom" } interface RatingStar { value: number; label: string; id: string; } interface RatingSubmitEvent { rating: number; label: string; endpoint?: string; } interface CalendarConfig { showWeekNumbers?: boolean; startWeekOnMonday?: boolean; allowPastDates?: boolean; allowFutureDates?: boolean; minDate?: Date; maxDate?: Date; disabledDates?: Date[]; highlightedDates?: Date[]; holidays?: CalendarHoliday[]; locale?: string; } interface CalendarHoliday { id?: string; name?: string; description?: string; date: Date | string; isRecurring?: boolean; is_recurring?: boolean; created_at?: string; updated_at?: string; deleted_at?: string | null; } interface CalendarDay { date: Date; dayNumber: number; type: DayType; state: DayState; isToday: boolean; isWeekend: boolean; disabled: boolean; isHoliday?: boolean; holidayName?: string; } interface CalendarEvent { id: string; columnId: string; type: CalendarEventType | string; title: string; startTime: string; endTime: string; date: Date; endDate: Date; duration: number; rowSpan: number; description?: string; subtitle?: string; peopleCount?: number; cost?: number; currency?: string; status?: 'confirmed' | 'pending' | 'cancelled' | 'completed' | 'rejected' | 'expired' | string; canCancel?: boolean; canApprove?: boolean; canReject?: boolean; canView?: boolean; isOtherUser?: boolean; metadata?: Record; } interface SchedulerColumn { id: string; name: string; description?: string; capacity?: number; icon?: string; metadata?: Record; } interface TimeSlot { time: string; hour: number; minutes: number; isHalfHour: boolean; displayTime: boolean; } interface SchedulerTimeSlot { slot: TimeSlot; columnId: string; isAvailable: boolean; event?: any; } interface DateNavigationEvent { type: 'previous' | 'next' | 'reset'; currentDate: Date; newDate: Date; } interface DateSelectionEvent { selectedDate: Date; calendarDay: CalendarDay; formattedDate: string; } type ComponentLoader = () => Promise<{ [key: string]: any; }>; declare class SidebarCustomModalService { private isOpen; private currentConfig; private componentRef; private viewContainerRef; private componentRegistry; openComponent(componentPath: string, data?: any, customClass?: string, onClose?: () => void): Promise; private loadComponentByConvention; private loadComponentByPath; private createModalFromModule; openModal(componentPath: string, data?: any, options?: { customClass?: string; onClose?: () => void; }): Promise; openLazyModal(lazyImport: () => Promise, data?: any, options?: { customClass?: string; onClose?: () => void; }): Promise; openDirectModal(component: Type, data?: any, options?: { customClass?: string; onClose?: () => void; }): void; registerComponent(name: string, loader: ComponentLoader): void; openRegisteredComponent(componentName: string, data?: any, customClass?: string, onClose?: () => void): Promise; getRegisteredComponents(): string[]; registerAndOpenComponent(name: string, importPath: string, data?: any, customClass?: string, onClose?: () => void): Promise; getIsOpen(): _angular_core.WritableSignal; getCurrentConfig(): _angular_core.WritableSignal; setViewContainerRef(vcr: ViewContainerRef): void; resetViewContainerRef(): void; openComponentModal(component: Type, data?: any, config?: Partial): void; private createComponentWhenReady; createComponentInstance(component: Type, data?: any): void; openTemplateModal(template: TemplateRef, data?: any, config?: Partial): void; closeModal(): void; openDynamicComponentModal(importPath: string, componentName: string, data?: any, config?: Partial): Promise; onBackdropClick(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class GenericSidebarComponent implements OnInit { private sidebarService; private templateRegistry; private alertService; private mobileModalService; private customModalService; private mobileResolutionService; config: _angular_core.InputSignal; position: _angular_core.InputSignal; customTemplate: _angular_core.InputSignal | null>; itemClicked: _angular_core.OutputEmitterRef; subItemClicked: _angular_core.OutputEmitterRef; sidebarContentTemplate: _angular_core.Signal>; SidebarMobileType: typeof SidebarMobileType; private screenWidth; get modalService(): SidebarMobileModalService; getFilteredItems(): SidebarItem[]; isMobileView: _angular_core.Signal; getMobileType: _angular_core.Signal; getMaxScrollItems: _angular_core.Signal; getScrollableItems: _angular_core.Signal; getActiveItemId: _angular_core.Signal; modalState: { isOpen: _angular_core.Signal; config: _angular_core.Signal; }; hasValidConfiguration: _angular_core.Signal; shouldUseCustomTemplate: _angular_core.Signal; getActiveTemplate: _angular_core.Signal | null>; isTemplateInsideNav: _angular_core.Signal; modalButtons: _angular_core.Signal[]>; ngOnInit(): void; onResize(event: any): void; private updateScreenWidth; onItemClick(item: SidebarItem): void; onSubItemClick(subItem: SidebarSubItem): void; getConfig(): SidebarComponentConfig | null; getTitleDisplay(): string; shouldTranslateTitle(): boolean; get hasSubmenu(): boolean; openMobileModal(): void; closeMobileModal(): void; onMobileSelectChange(event: any): void; shouldShowMobileVersion(): boolean; shouldShowDesktopVersion(): boolean; shouldRenderSidebar(): boolean; openCustomComponentModal(component: Type, data?: any, config?: { closeOnBackdrop?: boolean; customClass?: string; onClose?: () => void; }): void; openCustomTemplateModal(template: TemplateRef, data?: any, config?: { closeOnBackdrop?: boolean; customClass?: string; onClose?: () => void; }): void; closeCustomModal(): void; get isCustomModalOpen(): _angular_core.WritableSignal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class SidebarCustomModalComponent implements AfterViewInit, AfterViewChecked, OnDestroy { modalService: SidebarCustomModalService; private cdr; dynamicComponent: ViewContainerRef; private hasInitializedViewContainerRef; private currentModalState; constructor(); ngAfterViewInit(): void; ngAfterViewChecked(): void; private setupViewContainerRefIfAvailable; ngOnDestroy(): void; getCurrentConfig(): _solcre_org_core_ui.SidebarCustomModalConfig | null; getModalClasses(): string; onBackdropClick(event: Event): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface SidebarTemplateContext { config: any; position: string; onItemClick: (item: any) => void; onSubItemClick: (subItem: any) => void; } declare class SidebarTemplateRegistryService { private templates; registerTemplate(key: string, template: TemplateRef): void; getTemplate(key: string): TemplateRef | null; unregisterTemplate(key: string): void; hasTemplate(key: string): boolean; getRegisteredKeys(): string[]; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare enum TimelineStatus { EN_PROCESO = "En proceso", PENDIENTE_APROBACION_CLIENTE = "Pendiente aprobaci\u00F3n cliente", COMPLETADO = "Completado", RECHAZADO = "Rechazado", CANCELADO = "Cancelado", PENDIENTE = "Esperando documentaci\u00F3n", APROBADO = "Aprobado", INICIADO = "Iniciado", PENDIENTE_CLIENTE = "Pendiente cliente" } declare enum TimelineType { STANDARD = "standard", CUSTOM = "custom", MINIMAL = "minimal" } interface TimelineItem { id?: string | number; text: string; date: string | Date; status: string; isActive?: boolean; actionText?: string; actionCallback?: () => void; actionClass?: string; actionIcon?: string; customClass?: string; metadata?: { [key: string]: any; }; } interface TimelineConfig { items?: TimelineItem[]; customTemplate?: TemplateRef<{ $implicit: TimelineItem; index: number; }>; dateFormat?: string; showDate?: boolean; showStatus?: boolean; customClass?: string; emptyMessage?: string; enableActions?: boolean; } declare class TimelineService { constructor(); formatDate(date: string | Date, format?: string): string; getStatusClass(status: string): string; validateTimelineItem(item: TimelineItem): boolean; sortTimelineItems(items: TimelineItem[], ascending?: boolean): TimelineItem[]; filterByStatus(items: TimelineItem[], statuses: string[]): TimelineItem[]; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class GenericTimelineComponent { private timelineService; customTemplate: TemplateRef; items: _angular_core.InputSignal; config: _angular_core.InputSignal>; dateFormat: _angular_core.InputSignal; showDate: _angular_core.InputSignal; showStatus: _angular_core.InputSignal; enableActions: _angular_core.InputSignal; customClass: _angular_core.InputSignal; emptyMessage: _angular_core.InputSignal; sortAscending: _angular_core.InputSignal; filterStatuses: _angular_core.InputSignal; type: _angular_core.InputSignal; itemClicked: _angular_core.OutputEmitterRef; actionClicked: _angular_core.OutputEmitterRef<{ item: TimelineItem; action: string; }>; processedItems: _angular_core.Signal; mergedConfig: _angular_core.Signal; hasItems: _angular_core.Signal; hasCustomTemplate: _angular_core.Signal; TimelineStatus: typeof TimelineStatus; TimelineType: typeof TimelineType; ButtonType: typeof ButtonType; ButtonContext: typeof ButtonContext; formatDate(date: string | Date): string; getStatusClass(status: string): string; getItemClasses(item: TimelineItem): string; getTimelineClasses(): string; onItemClick(item: TimelineItem): void; onActionClick(item: TimelineItem, event?: Event): void; getActionButtonConfig(item: TimelineItem): ButtonConfig; isValidItem(item: TimelineItem): boolean; trackByItemId(index: number, item: TimelineItem): any; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class HeaderService { private translateService; private mobileResolutionService; private title; private text; private globalActions; private showFilter; private customFilters; private showCreateButton; private hasCreatePermission; private isVisible; private customActions; private showDefaultFilter; private showDefaultCreate; private headerOrder; private customTemplate; private mobileCustomTemplate; private filterButtonConfig; private createButtonConfig; private createButtonText; private globalCustomClass; private headerOutside; private headerActions; private refreshCallback; readonly hasFilters: _angular_core.Signal; getRefreshCallback(): _angular_core.WritableSignal<(() => void) | undefined>; setRefreshCallback(callback: (() => void) | undefined): void; getHeaderOutside(): _angular_core.WritableSignal; setHeaderOutside(outside: boolean): void; setHeaderData(data: { title?: string; text?: string; globalActions?: GlobalAction[]; showFilter?: boolean; customFilters?: FilterConfig[]; showCreateButton?: boolean; hasCreatePermission?: boolean; }): void; getTitle(): _angular_core.WritableSignal; getText(): _angular_core.WritableSignal; getGlobalActions(): _angular_core.WritableSignal[]>; getShowFilter(): _angular_core.WritableSignal; getCustomFilters(): _angular_core.WritableSignal[]>; getShowCreateButton(): _angular_core.WritableSignal; getHasCreatePermission(): _angular_core.WritableSignal; getCustomTemplate(): _angular_core.WritableSignal | null>; setCustomTemplate(template: TemplateRef | null): void; getMobileCustomTemplate(): _angular_core.WritableSignal | null>; setMobileCustomTemplate(template: TemplateRef | null): void; clearHeaderData(): void; setTitle(title: string): void; setText(text: string): void; setHeaderConfig(config: HeaderConfig): void; private getButtonTypeFromClass; getIsVisible(): _angular_core.WritableSignal; getCustomActions(): _angular_core.WritableSignal; getShowDefaultFilter(): _angular_core.WritableSignal; getShowDefaultCreate(): _angular_core.WritableSignal; showHeader(): void; hideHeader(): void; addCustomAction(action: HeaderActionConfig): void; removeCustomAction(actionId: string): void; updateCustomAction(actionId: string, updates: Partial): void; clearCustomActions(): void; getHeaderOrder(): _angular_core.WritableSignal; setHeaderOrder(order: HeaderOrderConfig): void; getFilterButtonConfig(): _angular_core.WritableSignal | undefined>; getCreateButtonConfig(): _angular_core.WritableSignal | undefined>; getCreateButtonText(): _angular_core.WritableSignal; getGlobalCustomClass(): _angular_core.WritableSignal; setGlobalCustomClass(customClass: string): void; setCreateButtonText(text: string | undefined): void; getHeaderActions(): _angular_core.WritableSignal; setHeaderActions(actions: HeaderAction[]): void; addHeaderAction(action: HeaderAction): void; removeHeaderAction(actionId: string): void; clearHeaderActions(): void; getModalActions(): _angular_core.Signal<{ id: string; label: string; icon: string | undefined; class: string | undefined; callback: () => void; requiredPermission: { resource?: string; resources?: string[]; action?: string; actions?: string[]; custom_action?: string; } | undefined; visible: boolean | (() => boolean) | undefined; disabled: boolean | undefined; mobileConfig: MobileActionConfig | undefined; }[]>; hasModalActions: _angular_core.Signal; getOrderedElements(): HeaderElementConfig[]; isElementVisible(elementType: HeaderElementType, element?: HeaderElementConfig): boolean; private isIndividualActionVisible; private findGlobalAction; getIndividualAction(element: HeaderElementConfig): any | null; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class HeaderComponent implements OnInit { private authService; private router; headerService: HeaderService; private permissionService; private cdr; private mobileResolutionService; HeaderElementType: typeof HeaderElementType; title: string; user: any; isDarkMode: boolean; filterRequested: _angular_core.OutputEmitterRef; createRequested: _angular_core.OutputEmitterRef; globalActionTriggered: _angular_core.OutputEmitterRef>; constructor(); ngOnInit(): void; toggleTheme(): void; private applyTheme; logout(): void; getGlobalActionButtonConfig(action: GlobalAction): ButtonConfig; getCustomActionButtonConfig(action: HeaderActionConfig): ButtonConfig; getFilterButtonConfig(): ButtonConfig; getCreateButtonConfig(): ButtonConfig; private getButtonTypeFromClass; onGlobalButtonClick(event: ButtonActionEvent, action: GlobalAction): void; onGlobalSwitchChange(value: any, action: GlobalAction): void; onCustomButtonClick(event: ButtonActionEvent, action: HeaderActionConfig): void; onFilterButtonClick(): void; onCreateButtonClick(): void; hasPermission(action: GlobalAction): boolean; isGlobalActionDisabled(action: GlobalAction): boolean; triggerGlobalAction(action: GlobalAction): void; showFiltersPopup(): void; triggerCreate(): void; hasCustomActionPermission(action: HeaderActionConfig): boolean; isCustomActionVisible(action: HeaderActionConfig): boolean; isCustomActionDisabled(action: HeaderActionConfig): boolean; triggerCustomAction(action: HeaderActionConfig): void; getHeaderTitle(): string; getHeaderText(): string; getIndividualAction(element: any): any | null; isIndividualActionSwitch(action: any): boolean; hasIndividualActionPermission(action: any): boolean; private checkRequiredPermission; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface MobileHeaderConfig { title: string; showRefreshButton?: boolean; showFilterButton?: boolean; refreshButtonLabel?: string; filterButtonLabel?: string; lightSubnav?: boolean; customTemplate?: TemplateRef; } declare class MobileHeaderComponent { private mobileResolutionService; private headerService; config: _angular_core.InputSignal; menuClick: _angular_core.OutputEmitterRef; refreshClick: _angular_core.OutputEmitterRef; filterClick: _angular_core.OutputEmitterRef; shouldShow: _angular_core.Signal; displayTitle: _angular_core.Signal; shouldShowRefreshButton: _angular_core.Signal; shouldShowFilterButton: _angular_core.Signal; customTemplate: _angular_core.Signal<_angular_core.TemplateRef | null>; headerActions: _angular_core.Signal; onMenuClick(): void; onRefreshClick(): void; onFilterClick(): void; onHeaderActionClick(action: HeaderAction): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum PermissionsActions { WRITE = "W", READ = "R", DELETE = "D", CUSTOM = "C" } declare enum PermissionsResources { USERS = "users", ROLES = "roles", RESERVATIONS = "reservations", PERMISSIONS = "permissions", COMPANIES = "companies", SERVICES = "services", ROOMS = "rooms", AUDIT_LOGS = "audit_logs", EMPLOYEES = "employees", COMPANIES_AZF_PROCEDURES = "companies_azf_procedures", COMPANIES_CONFIGURATION = "companies_configuration", COMPANIES_CONTACTS = "companies_contacts", COMPANIES_INVENTORY = "companies_inventory", COMPANIES_LEGALS = "companies_legals", COMPANIES_CONTRACTUAL_INFORMATION = "companies_contractual_info", COMPANIES_TELEWORK = "companies_remote_work", MY_COMPANY = "my_company", MY_COMPANY_AZF_PROCEDURE = "my_company_azf_procedures", MY_COMPANY_CONTACTS = "my_company_contacts", COMPANY_CONFIGURATION = "company_configuration", MY_COMPANY_INVENTORY = "my_company_inventory", MY_COMPANY_LEGALS = "my_company_legals", MY_COMPANY_CONTRACTUAL_INFORMATION = "my_company_contractual_info", MY_COMPANY_TELEWORK = "my_company_remote_work", FILE_TEMPLATES = "file_templates", CONFIGURATION = "configuration", SERVICES_EXPORT = "services_export" } declare enum PermissionsCustomActions { COMPANIES_CHANGE_STATUS = "companies_change_status", EMPLOYEES_BULK_UPLOAD = "employees_bulk_upload", EMPLOYEES_EXPORT = "employees_export", RESERVATIONS_EXPORT = "reservations_export", SERVICES_EXPORT = "services_export", ACCESS_CARD_ASSIGN = "access_card_assign", ACCESS_CARD_REJECT_REQUEST = "access_card_reject_request", ACCESS_CARD_MARK_DELIVERED = "access_card_mark_delivered", ACCESS_CARD_REQUEST_REASSIGNMENT = "access_card_request_reassignment", ACCESS_CARD_MARK_RETURNED = "access_card_mark_returned", SERVICE_BUDGET_APPROVE = "service_budget_approve", SERVICE_BUDGET_REJECT = "service_budget_reject" } declare enum SidebarState { EXPANDED = "expanded", COLLAPSED = "collapsed" } interface NavUserConfig { showUser?: boolean; greetingKey?: string; greetingText?: string; name?: string; nameKey?: string; } interface NavConfig { customLogout?: boolean; showLogo?: boolean; showVersion?: boolean; userInfo?: NavUserConfig; } interface NavItem { path?: string; label: string; icon?: string; children?: NavItem[]; requiredPermission?: { resource?: string; resources?: string[]; action?: string; actions?: string[]; custom_action?: string; match?: 'any' | 'all'; }; title?: string; disabled?: boolean; hidden?: boolean; } declare class MainNavService { private readonly SIDEBAR_STATE; private isCollapsedSubject; isCollapsed$: Observable; private renderer; constructor(rendererFactory: RendererFactory2); setSidebarState(state: string): void; getSidebarState(): string | null; toggleSidebarState(): void; expandSidebar(): void; collapseSidebar(): void; clearSidebarState(): void; private updateBodyClass; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface LogoImagesConfig { collapsedSettings: { image: string; width: number; height: number; alt: string; }; expandedSettings: { image: string; width: number; height: number; alt: string; }; } interface BottomNavItem { id: string; icon: string; action?: () => void; routerLink?: string; disabled?: boolean; isHighlighted?: boolean; isActive?: boolean; } declare class MainNavComponent implements OnChanges, OnInit, OnDestroy { private permissionService; private mainNavService; private authService; private router; private mobileResolutionService; isCollapsed: boolean; get isMobile(): boolean; isBottomNavOpen: boolean; expandedSections: { [key: string]: boolean; }; private routerSubscription; private authenticatedUser; navConfig: _angular_core.InputSignal; appVersion: _angular_core.InputSignal; navItems: _angular_core.InputSignal; bottomNavItems: _angular_core.InputSignal; isProduction: _angular_core.InputSignal; logoImagesConfig: _angular_core.InputSignal; collapsedLogo: _angular_core.InputSignal; expandedLogo: _angular_core.InputSignal; onLogout: _angular_core.OutputEmitterRef; constructor(); get userConfig(): NavUserConfig | undefined; getCollapsedLogoSrc(): string; getExpandedLogoSrc(): string; getCollapsedLogoSettings(): { image: string; width: number; height: number; alt: string; } | { width: number; height: number; alt: string; }; getExpandedLogoSettings(): { image: string; width: number; height: number; alt: string; } | { width: number; height: number; alt: string; }; ngOnInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; shouldShowUserSection(): boolean; getFallbackUserName(): string; getUserInitials(): string; hasPermission(item: NavItem): boolean; onToggleSidebar(): void; toggleSection(label: string, level: number): void; isSectionExpanded(label: string, level: number): boolean; private updateSidebarWidth; private updateExpandedSectionsBasedOnCurrentRoute; private findAndExpandParentMenus; private hasActiveChildRoute; isParentActive(item: NavItem): boolean; hasVisibleChildren(item: NavItem): boolean; private isItemVisible; logout(): void; toggleBottomNav(): void; toggleMobileNav(): void; private closeMobileNav; onBottomNavItemClick(item: BottomNavItem): void; handleBottomNavCenterClick(item: BottomNavItem): void; getBottomNavClasses(item: BottomNavItem): string[]; private setupResizeListener; private onResize; private updateBottomNavActiveState; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class LayoutStateService { isHeaderVisible: _angular_core.WritableSignal; private isHeaderVisibleSubject; private sidebarService; leftSidebarConfig: _angular_core.WritableSignal; rightSidebarConfig: _angular_core.WritableSignal; constructor(); toggleHeaderVisibility(): void; isHeaderVisible$(): Observable; isHeaderVisibleSignal(): Signal; hideHeader(): void; showHeader(): void; setLeftSidebarConfig(config: SidebarComponentConfig, width?: SidebarWidth, height?: SidebarHeight): void; setRightSidebarConfig(config: SidebarComponentConfig, width?: SidebarWidth, height?: SidebarHeight): void; hideLeftSidebar(): void; hideRightSidebar(): void; getLeftSidebarConfig(): Signal; getRightSidebarConfig(): Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class LayoutService { private layoutConfig; layout: _angular_core.Signal; sidebarLeft: _angular_core.Signal; sidebarRight: _angular_core.Signal; dataAttributes: _angular_core.Signal<{ 'data-layout': LayoutType; 'data-sidebar-left': SidebarVisibility; 'data-sidebar-left-w': SidebarWidth; 'data-sidebar-left-h': SidebarHeight; 'data-sidebar-right': SidebarVisibility; 'data-sidebar-right-w': SidebarWidth; 'data-sidebar-right-h': SidebarHeight; }>; setLayoutConfig(config: LayoutConfig): void; setSidebarLeft(config: SidebarConfig): void; setSidebarRight(config: SidebarConfig): void; showLeftSidebar(width?: SidebarWidth, height?: SidebarHeight): void; hideLeftSidebar(): void; toggleLeftSidebar(): void; showRightSidebar(width?: SidebarWidth, height?: SidebarHeight): void; hideRightSidebar(): void; toggleRightSidebar(): void; reset(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class LayoutComponent { navItems: _angular_core.InputSignal; bottomNavItems: _angular_core.InputSignal; collapsedLogo: _angular_core.InputSignal; expandedLogo: _angular_core.InputSignal; logoImagesConfig: _angular_core.InputSignal; navConfig: _angular_core.InputSignal; mobileHeaderConfig: _angular_core.InputSignal; onLogout: _angular_core.OutputEmitterRef; onMobileRefresh: _angular_core.OutputEmitterRef; onMobileFilter: _angular_core.OutputEmitterRef; dialogService: ConfirmationDialogService; private mainNavService; layoutService: LayoutService; layoutStateService: LayoutStateService; sidebarMobileModalService: SidebarMobileModalService; private templateRegistry; private headerService; private mobileResolutionService; SidebarVisibility: typeof SidebarVisibility; ModalMode: typeof ModalMode; SidebarMobileType: typeof SidebarMobileType; private screenWidth; isSidebarCollapsed: boolean; isHeaderVisible: boolean; isMobile: _angular_core.Signal; shouldShowMobileHeader: _angular_core.Signal; mainNavComponent?: MainNavComponent; get leftSidebarConfig(): SidebarComponentConfig | null; get rightSidebarConfig(): SidebarComponentConfig | null; ngOnInit(): void; onResize(event: any): void; private updateScreenWidth; private isMobileView; shouldRenderLeftSidebar(): boolean; shouldRenderRightSidebar(): boolean; getEffectiveLeftSidebarVisibility(): SidebarVisibility; getEffectiveLeftSidebarWidth(): SidebarWidth; getEffectiveLeftSidebarHeight(): SidebarHeight; getEffectiveRightSidebarVisibility(): SidebarVisibility; getEffectiveRightSidebarWidth(): SidebarWidth; getEffectiveRightSidebarHeight(): SidebarHeight; toggleSidebar(): void; getHeaderClasses(): string; onFilterRequested(): void; onCreateRequested(): void; onGlobalActionTriggered(action: GlobalAction): void; onMobileMenuClick(): void; onMobileRefreshClick(): void; onMobileFilterClick(): void; setLeftSidebarConfig(config: SidebarComponentConfig): void; setRightSidebarConfig(config: SidebarComponentConfig): void; hideLeftSidebar(): void; hideRightSidebar(): void; getSidebarModalTitle(): string; getSidebarModalButtons(): ModalButtonConfig[]; get sidebarModalContentTemplate(): TemplateRef | null; logout(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface LayoutAuthConfig { mainLogoUrl?: string; patternUrl?: string; } declare class LayoutAuth { config: _angular_core.InputSignal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface StepClickEvent { step: StepItemConfig; stepIndex: number; event: MouseEvent; } interface StepChangeEvent { step: StepItemConfig; index: number; previousStepId?: string; } declare class StepsService { private _steps; private _activeStepId; private _stepsInstanceId; steps: _angular_core.Signal; activeStepId: _angular_core.Signal; activeStep: _angular_core.Signal; activeStepIndex: _angular_core.Signal; initializeSteps(steps: StepItemConfig[], activeStepId?: string, instanceId?: string): void; setActiveStep(stepId: string): StepChangeEvent | null; nextStep(): StepChangeEvent | null; previousStep(): StepChangeEvent | null; completeStep(stepId: string): void; setPendingStep(stepId: string): void; setActiveStepStatus(stepId: string): void; private updateStepStatus; setStepDisabled(stepId: string, disabled: boolean): void; getProgress(): number; canGoNext(): boolean; canGoPrevious(): boolean; getCompletedSteps(): StepItemConfig[]; getPendingSteps(): StepItemConfig[]; resetSteps(): void; completeStepsUpTo(stepId: string): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class GenericStepsComponent implements OnInit, OnChanges { private stepsService; config: _angular_core.InputSignal; useService: _angular_core.InputSignal; instanceId: _angular_core.InputSignal; stepClick: _angular_core.OutputEmitterRef; stepChange: _angular_core.OutputEmitterRef<{ step: StepItemConfig; index: number; }>; serviceStepChange: _angular_core.OutputEmitterRef; activeStepId: _angular_core.WritableSignal; steps: _angular_core.WritableSignal; customColors: _angular_core.WritableSignal<{ [key: string]: string; }>; activeStep: _angular_core.Signal; activeStepIndex: _angular_core.Signal; currentSteps: _angular_core.Signal; currentActiveStepId: _angular_core.Signal; StepStatus: typeof StepStatus; StepType: typeof StepType; StepSize: typeof StepSize; constructor(); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; private initializeSteps; private handleServiceStepChange; private setupCustomColors; private lightenColor; onStepClick(step: StepItemConfig, index: number, event: MouseEvent): void; getStepClasses(step: StepItemConfig): string; getStepContent(step: StepItemConfig): string; getTranslatedStepContent(step: StepItemConfig): string; shouldTranslateContent(step: StepItemConfig): boolean; isStepClickable(step: StepItemConfig): boolean; getConnectorClasses(index: number): string; setActiveStep(stepId: string): void; nextStep(): void; previousStep(): void; completeStep(stepId: string): void; getStepProgress(): number; getCustomStyles(): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class GenericRatingComponent implements OnInit { private ratingService; config: _angular_core.InputSignal; ratingChange: _angular_core.OutputEmitterRef; selectedRating: _angular_core.WritableSignal; hoveredRating: _angular_core.WritableSignal; stars: _angular_core.WritableSignal; loading: _angular_core.WritableSignal; uniqueId: _angular_core.WritableSignal; RatingSize: typeof RatingSize; RatingType: typeof RatingType; ngOnInit(): void; private generateUniqueId; private initializeDefaultRating; getUniqueName(): string; getUniqueStarId(starValue: number): string; private initializeStars; onStarClick(rating: number): void; onStarHover(rating: number): void; onStarLeave(): void; private updateStarVisuals; private submitRating; getCurrentLabel(): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum ProgressBarSize { NORMAL = "", SMALL = "xs", LARGE = "xl" } declare class ProgressBarComponent { progress: _angular_core.InputSignal; size: _angular_core.InputSignal; percentage: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class CardComponent { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class ImageModalComponent implements OnDestroy { modalImage: ElementRef; imageContainer: ElementRef; private imageModalService; isVisible: _angular_core.Signal; currentImage: _angular_core.Signal<_solcre_org_core_ui.ImageModalData | null>; modalClosed: _angular_core.OutputEmitterRef; zoomLevel: _angular_core.WritableSignal; isDragging: _angular_core.WritableSignal; lastMouseX: _angular_core.WritableSignal; lastMouseY: _angular_core.WritableSignal; translateX: _angular_core.WritableSignal; translateY: _angular_core.WritableSignal; private minZoom; private maxZoom; private zoomStep; private targetTranslateX; private targetTranslateY; private velocityX; private velocityY; private friction; private animationId; constructor(); private startAnimation; private stopAnimation; resetZoom(): void; closeModal(): void; onWheel(event: WheelEvent): void; onMouseDown(event: MouseEvent): void; onMouseMove(event: MouseEvent): void; onMouseUp(): void; onDoubleClick(): void; getHolderTransform(): string; getCursor(): string; handleKeydown(event: KeyboardEvent): void; onDocumentMouseMove(event: MouseEvent): void; onDocumentMouseUp(): void; onTouchStart(event: TouchEvent): void; onTouchMove(event: TouchEvent): void; onTouchEnd(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum SkeletonType { INPUT = "input", TEXTAREA = "textarea", BUTTON = "button", CHECKBOX = "checkbox", IMAGE = "image", TEXT = "text", CARD = "card", LIST = "list", AVATAR = "avatar" } declare enum SkeletonSize { SMALL = "small", MEDIUM = "medium", LARGE = "large", EXTRA_LARGE = "extra-large" } declare enum SkeletonAnimation { PULSE = "pulse", WAVE = "wave", SHIMMER = "shimmer", NONE = "none" } interface SkeletonItemConfig { type: SkeletonType; size?: SkeletonSize; width?: string; height?: string; customClass?: string; ariaLabel?: string; animated?: boolean; animation?: SkeletonAnimation; lines?: number; checkboxConfig?: { showText?: boolean; textWidth?: string; }; listConfig?: { items?: number; showAvatar?: boolean; showSecondaryText?: boolean; }; } interface SkeletonConfig { items: SkeletonItemConfig[]; containerClass?: string; animated?: boolean; animation?: SkeletonAnimation; spacing?: string; } declare class GenericSkeletonComponent { config: _angular_core.InputSignal; items: _angular_core.InputSignal; type: _angular_core.InputSignal; size: _angular_core.InputSignal; width: _angular_core.InputSignal; height: _angular_core.InputSignal; animated: _angular_core.InputSignal; animation: _angular_core.InputSignal; lines: _angular_core.InputSignal; customClass: _angular_core.InputSignal; ariaLabel: _angular_core.InputSignal; SkeletonType: typeof SkeletonType; SkeletonSize: typeof SkeletonSize; SkeletonAnimation: typeof SkeletonAnimation; skeletonItems: _angular_core.Signal; containerClasses: _angular_core.Signal; getItemClasses(item: SkeletonItemConfig): string; getItemStyles(item: SkeletonItemConfig): { [key: string]: string; }; getTextLines(item: SkeletonItemConfig): number[]; getListItems(item: SkeletonItemConfig): number[]; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class SkeletonService { private readonly presetConfigs; getPresetConfig(preset: keyof typeof this.presetConfigs): SkeletonConfig; createFormSkeleton(fields?: number, includeButton?: boolean): SkeletonConfig; createListSkeleton(itemCount?: number, showAvatar?: boolean, showSecondaryText?: boolean): SkeletonConfig; createTextSkeleton(lines?: number, width?: string): SkeletonConfig; createImageSkeleton(width?: string, height?: string): SkeletonConfig; createCardSkeleton(includeAvatar?: boolean, textLines?: number): SkeletonConfig; combineConfigs(...configs: SkeletonConfig[]): SkeletonConfig; createCustomSkeleton(type: SkeletonType, options?: Partial): SkeletonConfig; getAvailablePresets(): string[]; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class ImagePreviewComponent { private imageModalService; src: _angular_core.InputSignal; alt: _angular_core.InputSignal; title: _angular_core.InputSignal; width: _angular_core.InputSignal; height: _angular_core.InputSignal; objectFit: _angular_core.InputSignal<"fill" | "none" | "cover" | "contain" | "scale-down">; borderRadius: _angular_core.InputSignal; cursor: _angular_core.InputSignal; loading: _angular_core.InputSignal<"lazy" | "eager">; isRelative: _angular_core.InputSignal; showSkeleton: _angular_core.InputSignal; skeletonAnimation: _angular_core.InputSignal; isImageLoading: _angular_core.WritableSignal; hasImageError: _angular_core.WritableSignal; SkeletonType: typeof SkeletonType; onImageLoad(): void; onImageError(): void; onImageClick(): void; onSkeletonClick(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface ImageModalData { src: string; alt?: string; title?: string; description?: string; } declare class ImageModalService { private isOpen; private currentImage; isModalOpen: _angular_core.Signal; getCurrentImage: _angular_core.Signal; openImageModal(imageData: ImageModalData): void; closeImageModal(): void; toggleModal(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface CarouselImage { id: number | string; url: string; alt?: string; title?: string; } interface CarouselConfig { autoplay?: boolean; interval?: number; perView?: number; step?: number; showDots?: boolean; showArrows?: boolean; arrowsOutside?: boolean; itemsGap?: string; controlsOffset?: string; controlsSize?: string; ariaLabel?: string; } declare class CarouselComponent implements AfterViewInit, OnDestroy { readonly images: _angular_core.InputSignal; readonly config: _angular_core.InputSignal; readonly carouselHolder: _angular_core.Signal | undefined>; readonly carouselViewport: _angular_core.Signal | undefined>; private readonly currentIndex; private readonly timer; readonly autoplay: _angular_core.Signal; readonly interval: _angular_core.Signal; readonly perView: _angular_core.Signal; readonly step: _angular_core.Signal; readonly showDots: _angular_core.Signal; readonly showArrows: _angular_core.Signal; readonly arrowsOutside: _angular_core.Signal; readonly itemsGap: _angular_core.Signal; readonly controlsOffset: _angular_core.Signal; readonly controlsSize: _angular_core.Signal; readonly ariaLabel: _angular_core.Signal; readonly maxIndex: _angular_core.Signal; readonly pagesLength: _angular_core.Signal; readonly dots: _angular_core.Signal; readonly currentPage: _angular_core.Signal; readonly carouselClasses: _angular_core.Signal; constructor(); ngAfterViewInit(): void; ngOnDestroy(): void; goToSlide(index: number, animate?: boolean, fromAutoplay?: boolean): void; goToPage(pageIndex: number): void; goToNextSlide(fromAutoplay?: boolean): void; goToPrevSlide(): void; isDotActive(dotIndex: number): boolean; private startAutoplay; private stopAutoplay; private restartAutoplay; onResize(): void; onKeyDown(event: KeyboardEvent): void; getSlideStyle(index: number): { [key: string]: string; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum ChatMessageType { TEXT = "text", IMAGE = "image", FILE = "file", SYSTEM = "system", NOTIFICATION = "notification", CUSTOM = "custom" } declare enum ChatMessagePosition { LEFT = "left", RIGHT = "right" } declare class ConfigurationModel implements DataBaseModelInterface { id: string; email_notification: string; correspondence_address: AddressModel | null; delivery_address: AddressModel | null; constructor(data?: Partial); fromJSON(json: any): ConfigurationModel; toJSON(): any; getId(): string; getReference(): string; } declare class FileTemplateModel implements DataBaseModelInterface { id: string; name: string; details: string; file_type: string | null; type_code: string | null; file_id: string; file: FileModel; uploaded_by: UsersModel; created_at: string; updated_at: string; constructor(data?: Partial); fromJSON(json: any): FileTemplateModel; toJSON(): any; getId(): string; getReference(): string; } declare class FileTypeModel implements DataBaseModelInterface { id: string; code: string; constructor(data?: Partial); fromJSON(json: any): FileTypeModel; toJSON(): any; getId(): string; getReference(): string; } declare class ResetPasswordModel implements DataBaseModelInterface { userId?: string | undefined; newPassword?: string | undefined; confirmPassword?: string | undefined; constructor(userId?: string | undefined, newPassword?: string | undefined, confirmPassword?: string | undefined); fromJSON(json: any): ResetPasswordModel; toJSON(): { userId: string | undefined; newPassword: string | undefined; confirmPassword: string | undefined; }; getReference(): string; getId(): string; } interface FilePreviewItem { id: string; filename: string; size: number; contentType: string; uploadedBy: string; uploadedDate: Date; s3Key?: string; thumbnailUrl?: string; canDownload: boolean; canDelete: boolean; fileModel?: FileModel; } interface FilePreviewConfig { showUploadDate?: boolean; showUploadedBy?: boolean; showFileSize?: boolean; showFilename?: boolean; allowDownload?: boolean; allowDelete?: boolean; maxFilenameLength?: number; dateFormat?: string; emptyStateMessage?: string; emptyStateIcon?: string; gridColumns?: number; showThumbnails?: boolean; } interface FilePreviewAction { type: FilePreviewActionType; file: FilePreviewItem; } declare enum FilePreviewActionType { DOWNLOAD = "download", DELETE = "delete", PREVIEW = "preview" } interface ChatMessage { id: string; content: string; type: ChatMessageType; position: ChatMessagePosition; timestamp: String | Date; sender?: { id: string; name: string; avatar?: string; }; isRead?: boolean; isSending?: boolean; hasError?: boolean; customClass?: string; imageData?: { url: string; alt?: string; width?: number; height?: number; thumbnail?: string; }; imagesData?: Array<{ url: string; alt?: string; width?: number; height?: number; thumbnail?: string; }>; fileData?: { url: string; name: string; size: number; type: string; icon?: string; }; customData?: { templateKey: string; data: any; }; customTemplate?: TemplateRef; metadata?: { [key: string]: any; }; attachmentIds?: string[]; attachments?: FilePreviewItem[]; } interface ChatConfig { maxHeight?: string; placeholder?: string; showTimestamps?: boolean; showAvatars?: boolean; showSenderNames?: boolean; showTypingIndicator?: boolean; allowFileAttachments?: boolean; allowEmojis?: boolean; maxMessages?: number; customMessageTemplates?: Map>; customCssClasses?: { container?: string; messageList?: string; messageItem?: string; inputContainer?: string; input?: string; sendButton?: string; }; readOnly?: boolean; currentUserId?: string; autoScroll?: boolean; dateFormat?: string; timeFormat?: string; groupByDate?: boolean; theme?: 'light' | 'dark' | 'auto'; modalMode?: boolean; modalTitle?: string; modalSubtitle?: string; isModalOpen?: boolean; enableInfiniteScroll?: boolean; pageSize?: number; loadMoreThreshold?: number; } interface PaginationInfo { data: any[]; page: number; page_count: number; size: number; total_items: number; } declare class GenericChatService { constructor(); formatTimestamp(timestamp: Date, format?: string): string; formatDate(timestamp: Date, format?: string): string; shouldUseCustomTemplate(message: ChatMessage, config: ChatConfig): boolean; getMessageClasses(message: ChatMessage, config: ChatConfig): string; getContentClasses(message: ChatMessage, config: ChatConfig): string; getTimestampClasses(config: ChatConfig): string; getImageClasses(config: ChatConfig): string; validateMessage(message: ChatMessage): boolean; getDefaultConfig(): ChatConfig; mergeConfig(userConfig: Partial): ChatConfig; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class GenericChatComponent implements OnDestroy { chatService: GenericChatService; private elementRef; private sanitizer; private authService; messages: _angular_core.InputSignal; config: _angular_core.InputSignal; isTyping: _angular_core.InputSignal; customTemplates: _angular_core.InputSignal>>; messagesSent: _angular_core.OutputEmitterRef; imageClicked: _angular_core.OutputEmitterRef; fileClicked: _angular_core.OutputEmitterRef; fileSelected: _angular_core.OutputEmitterRef; filesSelected: _angular_core.OutputEmitterRef; typingStatusChanged: _angular_core.OutputEmitterRef; modalClosed: _angular_core.OutputEmitterRef; attachmentAction: _angular_core.OutputEmitterRef<{ action: string; file: any; message: ChatMessage; }>; sendingStatusChanged: _angular_core.OutputEmitterRef; loadMoreMessages: _angular_core.OutputEmitterRef; messagesContainer: _angular_core.Signal | undefined>; modalMessagesContainer: _angular_core.Signal | undefined>; messageInput: _angular_core.Signal | undefined>; fileInput: _angular_core.Signal | undefined>; currentMessage: _angular_core.WritableSignal; showImageModal: _angular_core.WritableSignal; selectedImage: _angular_core.WritableSignal; selectedFile: _angular_core.WritableSignal; selectedFiles: _angular_core.WritableSignal; isClosing: _angular_core.WritableSignal; isSending: _angular_core.WritableSignal; messageTypes: typeof ChatMessageType; isLoadingMore: _angular_core.WritableSignal; hasMoreMessages: _angular_core.WritableSignal; currentPage: _angular_core.WritableSignal; private hasInitialLoad; mergedConfig: _angular_core.Signal; chronologicalMessages: _angular_core.Signal; shouldShowDateSeparator: _angular_core.Signal>; trackByMessage: (index: number, message: ChatMessage) => string; trackByChronologicalMessage: (index: number, message: ChatMessage) => string; private parseTimestamp; getDateSeparatorText(timestamp: String | Date): string; closeButtonConfig: _angular_core.Signal; getFilePreviewConfig(attachments: any[]): { showUploadDate?: undefined; showUploadedBy?: undefined; showFileSize?: undefined; allowDownload?: undefined; allowDelete?: undefined; maxFilenameLength?: undefined; emptyStateMessage?: undefined; emptyStateIcon?: undefined; showThumbnails?: undefined; gridColumns?: undefined; showFilename?: undefined; } | { showUploadDate: boolean; showUploadedBy: boolean; showFileSize: boolean; allowDownload: boolean; allowDelete: boolean; maxFilenameLength: number; emptyStateMessage: string; emptyStateIcon: string; showThumbnails: boolean; gridColumns: number; showFilename: boolean; }; separateFilesByType(attachments: any[]): { images: any[]; files: any[]; }; getImagePreviewConfig(images: any[]): { showUploadDate: boolean; showUploadedBy: boolean; showFileSize: boolean; allowDownload: boolean; allowDelete: boolean; maxFilenameLength: number; emptyStateMessage: string; emptyStateIcon: string; showThumbnails: boolean; gridColumns: number; showFilename: boolean; containerClass: string; }; getFileOnlyPreviewConfig(files: any[]): { showUploadDate: boolean; showUploadedBy: boolean; showFileSize: boolean; allowDownload: boolean; allowDelete: boolean; maxFilenameLength: number; emptyStateMessage: string; emptyStateIcon: string; showThumbnails: boolean; gridColumns: number; showFilename: boolean; containerClass: string; }; isImageFile(file: File): boolean; isImageFilePreview(file: any): boolean; private filePreviewUrls; createImagePreview(file: File): string; getImagePreviewUrl(file: File): string; getAttachmentPreviewUrl(file: any): any; getAttachmentPlaceholderUrl(file: any): string; trackByFile(index: number, file: File): string; onImageLoad(fileName: string): void; onImageError(fileName: string, event: any): void; openImageModal(imageUrl: string, filename: string): void; convertAttachmentsToFilePreviewItems(attachments: any[]): FilePreviewItem[]; getChatFilePreviewConfig(): FilePreviewConfig; getImageAttachments(attachments: any[]): any[]; getNonImageAttachments(attachments: any[]): any[]; getSelectedImageFiles(): File[]; getSelectedNonImageFiles(): File[]; getSelectedFileIndex(file: File): number; convertSelectedFilesToPreviewItems(files: File[]): FilePreviewItem[]; getChatSelectedFilesConfig(): FilePreviewConfig; onSelectedFileAction(action: FilePreviewAction): void; onFilePreviewAction(action: FilePreviewAction, message: ChatMessage): void; private imagePreviewUrls; private addImagePreviewUrl; private cleanupImagePreviewUrls; private typingTimer; private shouldScrollToBottom; private ghostTextarea; private scrollSentinel; private shouldInitializeInfiniteScroll; private shouldAutoScroll; private isLoadingMoreMessages; scrollSentinelElement?: ElementRef; constructor(chatService: GenericChatService); private initializeInfiniteScroll; private loadMoreMessagesHandler; onMessagesLoaded(paginationInfo: PaginationInfo): void; ngOnDestroy(): void; sendMessage(): void; onImageClick(message: ChatMessage): void; onMultipleImageClick(imageData: { url: string; alt?: string; }, message: ChatMessage): void; closeImageModal(): void; closeModal(): void; handleKeyboardEvent(event: KeyboardEvent): void; onFileClick(message: ChatMessage): void; onTyping(): void; updateCurrentMessage(value: string): void; onTextareaInput(event: Event): void; private autoResizeTextarea; openFileSelector(): void; onFileSelected(event: any): void; clearSelectedFile(): void; clearSelectedFiles(): void; removeSelectedFile(index: number): void; toggleEmojiPicker(): void; getCustomTemplate(message: ChatMessage): TemplateRef | null; formatFileSize(bytes: number): string; private scrollToBottom; private generateMessageId; onAttachmentAction(action: string, file: any, message: ChatMessage): void; onMessageSentSuccess(): void; onMessageSentError(): void; get isCurrentlySending(): boolean; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class ManualRefreshService { private lastUpdateTimes; private configs; initialize(id: string, config?: ManualRefreshConfig): void; getLastUpdateTime(id: string): _angular_core.WritableSignal; updateLastRefreshTime(id: string, date?: Date): void; getConfig(id: string): ManualRefreshConfig | undefined; updateConfig(id: string, config: ManualRefreshConfig): void; destroy(id: string): void; getRegisteredIds(): string[]; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface GalleryImage { src: string; alt?: string; title?: string; description?: string; thumbnail?: string; id?: string | number; metadata?: Record; } declare enum GalleryAnimationType { FADE = "fade", SLIDE_DOWN = "slide-down", SLIDE_UP = "slide-up", SLIDE_LEFT = "slide-left", SLIDE_RIGHT = "slide-right", ZOOM = "zoom", NONE = "none" } declare enum GalleryLayoutType { MAIN_LEFT = "main-left", MAIN_RIGHT = "main-right", MAIN_TOP = "main-top", SINGLE = "single" } interface GalleryConfig { layoutType?: GalleryLayoutType; totalItems?: number; sidesSize?: string; gap?: string; borderRadius?: string; showCounter?: boolean; showNavigation?: boolean; enableKeyboardNavigation?: boolean; closeOnOutsideClick?: boolean; animationType?: GalleryAnimationType; animationInDuration?: number; animationOutDuration?: number; lazyLoading?: boolean; infiniteLoop?: boolean; } declare class GenericGalleryComponent implements OnDestroy { private galleryModalService; images: _angular_core.InputSignal; config: _angular_core.InputSignal; imageClick: _angular_core.OutputEmitterRef<{ image: GalleryImage; index: number; }>; modalOpen: _angular_core.OutputEmitterRef<{ images: GalleryImage[]; index: number; }>; modalClose: _angular_core.OutputEmitterRef; imageChange: _angular_core.OutputEmitterRef<{ image: GalleryImage; index: number; }>; imageLoadingStates: _angular_core.WritableSignal>; imageErrorStates: _angular_core.WritableSignal>; SkeletonType: typeof SkeletonType; SkeletonAnimation: typeof SkeletonAnimation; private readonly defaultConfig; finalConfig: _angular_core.Signal<{ layoutType?: GalleryLayoutType; totalItems?: number; sidesSize?: string; gap?: string; borderRadius?: string; showCounter?: boolean; showNavigation?: boolean; enableKeyboardNavigation?: boolean; closeOnOutsideClick?: boolean; animationType?: GalleryAnimationType; animationInDuration?: number; animationOutDuration?: number; lazyLoading?: boolean; infiniteLoop?: boolean; }>; mainImage: _angular_core.Signal; thumbnailImages: _angular_core.Signal; containerClasses: _angular_core.Signal; containerStyles: _angular_core.Signal; constructor(); ngOnDestroy(): void; onImageClick(image: GalleryImage, index: number): void; openModal(initialIndex?: number): void; closeModal(): void; getImageKey(image: GalleryImage, index: number): string; isImageLoading(image: GalleryImage, index: number): boolean; hasImageError(image: GalleryImage, index: number): boolean; onImageLoad(image: GalleryImage, index: number): void; onImageError(image: GalleryImage, index: number): void; initializeImageStates(): void; getImageLoading(isMainImage?: boolean): 'eager' | 'lazy'; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class GalleryModalComponent implements OnDestroy { private galleryModalService; isModalOpen: _angular_core.Signal; isModalClosing: _angular_core.Signal; currentImage: _angular_core.Signal<_solcre_org_core_ui.GalleryImage | null>; currentIndex: _angular_core.Signal; imageCounter: _angular_core.Signal; canNavigatePrevious: _angular_core.Signal; canNavigateNext: _angular_core.Signal; private keyboardListener?; constructor(); ngOnDestroy(): void; onKeyDown(event: KeyboardEvent): void; closeModal(): void; previousImage(): void; nextImage(): void; onOverlayClick(): void; getModalClasses(): string; getModalStyles(): any; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class GalleryModalGlobalService { private _isModalOpen; private _isClosing; private _currentImages; private _currentIndex; isModalOpen: _angular_core.Signal; isClosing: _angular_core.Signal; currentImages: _angular_core.Signal; currentIndex: _angular_core.Signal; currentImage: _angular_core.Signal; imageCounter: _angular_core.Signal; hasPrevious: _angular_core.Signal; hasNext: _angular_core.Signal; openModal(images: GalleryImage[], initialIndex?: number): void; closeModal(immediate?: boolean): void; previousImage(): void; nextImage(): void; goToImage(index: number): void; getImageIndexById(imageId: string | number): number; updateImages(images: GalleryImage[]): void; reset(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class GenericSwitchComponent { options: _angular_core.InputSignal[]>; selectedValue: _angular_core.InputSignal; ariaLabel: _angular_core.InputSignal; valueChange: _angular_core.OutputEmitterRef; isSelected(value: T): boolean; onOptionClick(option: SwitchOption): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "core-generic-switch", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "selectedValue": { "alias": "selectedValue"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>; } interface FixedActionsConfig { actions: FixedActionConfig[]; position?: FixedActionPosition; data?: T; selectedRows?: T[]; mobileModalTitle?: string; mobileModalSubtitle?: string; } interface MobileModalData { title?: string; subtitle?: string; actions: FixedActionConfig[]; data?: T; selectedRows?: T[]; } declare class FixedActionsMobileModalService { private _isVisible; private _modalData; readonly isVisible: _angular_core.Signal; readonly modalData: _angular_core.Signal | null>; open(data: MobileModalData): void; close(): void; executeAction(action: FixedActionConfig, row?: T): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class FixedActionsMobileModalComponent { private mobileModalService; private permissionService; isVisible: _angular_core.Signal; modalData: _angular_core.Signal<_solcre_org_core_ui.MobileModalData | null>; visibleActions: _angular_core.Signal[]>; shouldShowAction(action: FixedActionConfig): boolean; isActionDisabled(action: FixedActionConfig): boolean; getActionLabel(action: FixedActionConfig): string; getActionIcon(action: FixedActionConfig): string; onClose(): void; onActionClick(action: FixedActionConfig): void; onOverlayClick(event: MouseEvent): void; private checkRequiredPermission; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class GenericFixedActionsComponent implements AfterViewInit { private headerService; private fixedActionsMobileModalService; private permissionService; private mobileResolutionService; private customClassService; private elementRef; private cdr; private tableFixedActionsService; externalActions: _angular_core.InputSignal[]>; tableId: _angular_core.InputSignal; ngAfterViewInit(): void; shouldShow: _angular_core.Signal; outsideActions: _angular_core.Signal<_solcre_org_core_ui.HeaderActionConfig[]>; modalActions: _angular_core.Signal<_solcre_org_core_ui.HeaderActionConfig[]>; hasModalActions: _angular_core.Signal; visibleActions: _angular_core.Signal[]>; getActionClass(action: FixedActionConfig): string; isActionDisabled(action: FixedActionConfig): boolean; onActionClick(action: FixedActionConfig): void; openModalActions(): void; private checkRequiredPermission; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum AdInteractionType { POPUP = "popup", REDIRECT = "redirect" } interface AdAuthConfig { clientId: string; authority: string; redirectUri: string; postLogoutRedirectUri?: string; scopes?: string[]; interactionType?: AdInteractionType; cacheLocation?: 'sessionStorage' | 'localStorage'; enableLogging?: boolean; logLevel?: 0 | 1 | 2 | 3; authorizationCodeOnly?: boolean; state?: string; } interface AdLoginButtonConfig { loginText?: string; logoutText?: string; loginIcon?: string; logoutIcon?: string; showUserInfo?: boolean; buttonConfig?: Partial; customClass?: string; showLoader?: boolean; } interface AdAuthUser { id: string; name?: string; email?: string; username?: string; roles?: string[]; tenantId?: string; claims?: Record; } interface AdAuthEvent { type: 'login-success' | 'login-error' | 'logout-success' | 'logout-error' | 'token-acquired' | 'code-received'; user?: AdAuthUser; accessToken?: string; authorizationCode?: string; codeVerifier?: string; error?: any; message?: string; } interface AdAuthState { isAuthenticated: boolean; user: AdAuthUser | null; isLoading: boolean; error: any | null; } interface AdAuthorizationCodeResponse { code: string; state?: string; codeVerifier?: string; } type AccountInfo = any; declare const AD_AUTH_CONFIG: InjectionToken; declare class AdAuthService { private config; private msalInstance; private msalModule; private initializationPromise; private codeVerifier; private authState; private _authorizationCode; readonly authorizationCode: _angular_core.Signal; readonly isAuthenticated: _angular_core.Signal; readonly currentUser: _angular_core.Signal; readonly isLoading: _angular_core.Signal; readonly error: _angular_core.Signal; constructor(); private checkForAuthorizationCode; private cleanUrlParams; private generatePKCE; private base64UrlEncode; private generateState; redirectToAzureLogin(): Promise; getAuthorizationCode(): AdAuthorizationCodeResponse | null; clearAuthorizationCode(): void; isAuthorizationCodeOnlyMode(): boolean; private loadMsalModule; private initializeMsal; /** * Ensures MSAL is initialized before performing operations */ private ensureInitialized; private loggerCallback; private handleRedirectResponse; private checkActiveSession; private mapAccountToUser; private updateAuthState; private handleAuthenticationResult; loginWithPopup(): Promise; loginWithRedirect(): Promise; login(): Promise; logoutWithPopup(): Promise; logoutWithRedirect(): Promise; logoutFromAzure(): Promise; logout(): Promise; acquireToken(scopes?: string[]): Promise; getAllAccounts(): Promise; isConfigured(): boolean; isReady(): Promise; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare function adAuthGuard(redirectTo?: string): CanActivateFn; declare function adGuestGuard(redirectTo?: string): CanActivateFn; declare function adRoleGuard(requiredRoles: string[], redirectTo?: string): CanActivateFn; interface AdAuthInterceptorConfig { protectedUrls: (string | RegExp)[]; scopes?: string[]; } declare const DEFAULT_AD_AUTH_INTERCEPTOR_CONFIG: AdAuthInterceptorConfig; declare const AD_AUTH_INTERCEPTOR_CONFIG: InjectionToken; declare const adAuthInterceptor: HttpInterceptorFn; declare function provideAdAuth(config: AdAuthConfig): Provider; declare function provideAdAuthInterceptor(config: AdAuthInterceptorConfig): Provider; declare function provideAdAuthWithInterceptor(authConfig: AdAuthConfig, interceptorConfig?: AdAuthInterceptorConfig): EnvironmentProviders; declare class AdLoginButtonComponent { private authService; config: _angular_core.InputSignal; disabled: _angular_core.InputSignal; authEvent: _angular_core.OutputEmitterRef; readonly isAuthenticated: _angular_core.Signal; readonly currentUser: _angular_core.Signal<_solcre_org_core_ui.AdAuthUser | null>; readonly isLoading: _angular_core.Signal; readonly error: _angular_core.Signal; readonly isConfigured: boolean; readonly loginButtonConfig: _angular_core.Signal; readonly logoutButtonConfig: _angular_core.Signal; readonly showUserInfo: _angular_core.Signal; readonly userInitials: _angular_core.Signal; constructor(); onLoginClick(): Promise; onLogoutClick(): Promise; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class GenericCalendarComponent { currentDate: _angular_core.InputSignal; selectedDate: _angular_core.InputSignal; config: _angular_core.InputSignal; showNavigation: _angular_core.InputSignal; showHeader: _angular_core.InputSignal; locale: _angular_core.InputSignal; dateSelected: _angular_core.OutputEmitterRef; monthChanged: _angular_core.OutputEmitterRef; displayDate: _angular_core.WritableSignal; calendarDays: _angular_core.WritableSignal; monthName: _angular_core.Signal; year: _angular_core.Signal; weekDayLabels: _angular_core.Signal; constructor(); private toUTCDate; private createUTCDate; private generateCalendarDays; private getDayType; private getDayState; private isDayDisabled; private isWeekend; private isSameDay; private getHolidaySets; private getHolidayInfo; private parseToUTCDate; private formatDateUTC; private formatMonthDayUTC; onDayClick(day: CalendarDay): void; onPreviousMonth(): void; onNextMonth(): void; resetToCurrentMonth(): void; getDayClasses(day: CalendarDay): string; getDayTitle(day: CalendarDay): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface HolidaySets { exactDates: Set; recurringMonthDays: Set; holidayNames?: Map; } interface SchedulerConfig { startHour: number; endHour: number; slotDuration: number; rowHeightRem: number; showCurrentTimeLine: boolean; locale?: string; } interface SlotClickEvent { columnId: string; slot: TimeSlot; date: Date; } interface EventClickEvent { event: CalendarEvent; column: SchedulerColumn; } interface EventHoverEvent { event: CalendarEvent; position: { x: number; y: number; }; } declare const DEFAULT_SCHEDULER_CONFIG: SchedulerConfig; declare class GenericSchedulerComponent implements OnInit, OnDestroy { selectedDate: _angular_core.InputSignal; columns: _angular_core.InputSignal; events: _angular_core.InputSignal; config: _angular_core.InputSignal>; showTimeColumn: _angular_core.InputSignal; showHeader: _angular_core.InputSignal; timeColumnLabel: _angular_core.InputSignal; emptySlotLabel: _angular_core.InputSignal; disabledSlotLabel: _angular_core.InputSignal; todayLabel: _angular_core.InputSignal; locale: _angular_core.InputSignal; slotClick: _angular_core.OutputEmitterRef; eventClick: _angular_core.OutputEmitterRef; eventHover: _angular_core.OutputEmitterRef; eventLeave: _angular_core.OutputEmitterRef; todayClick: _angular_core.OutputEmitterRef; previousDay: _angular_core.OutputEmitterRef; nextDay: _angular_core.OutputEmitterRef; timeSlots: _angular_core.WritableSignal; currentTime: _angular_core.WritableSignal; private timeUpdateInterval; mergedConfig: _angular_core.Signal<{ startHour: number; endHour: number; slotDuration: number; rowHeightRem: number; showCurrentTimeLine: boolean; locale?: string; }>; isToday: _angular_core.Signal; formattedDate: _angular_core.Signal; currentTimePosition: _angular_core.Signal; private eventMap; ngOnInit(): void; ngOnDestroy(): void; private initializeTimeSlots; private startTimeUpdater; private stopTimeUpdater; isSlotOccupied(columnId: string, slot: TimeSlot): boolean; shouldShowEvent(columnId: string, slot: TimeSlot): boolean; getEventForSlot(columnId: string, slot: TimeSlot): CalendarEvent | undefined; getEventRowSpan(event: CalendarEvent): number; private isTimeInEvent; isSlotDisabled(columnId: string, slot: TimeSlot): boolean; onSlotClick(columnId: string, slot: TimeSlot): void; onEventClick(event: CalendarEvent, column: SchedulerColumn): void; onEventHover(mouseEvent: MouseEvent, event: CalendarEvent): void; onEventLeave(): void; getEventClasses(event: CalendarEvent): string; onTodayClick(): void; onPreviousDay(): void; onNextDay(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const DEFAULT_COUNTRIES: CountryOption[]; declare const LATIN_AMERICA_COUNTRIES: CountryOption[]; declare const COMMON_COUNTRIES: CountryOption[]; declare const SOUTH_AMERICA_COUNTRIES: CountryOption[]; declare const VERSION: { full: string; major: number; minor: number; patch: number; timestamp: string; buildDate: string; }; declare class DynamicFieldDirective implements OnChanges { private viewContainerRef; field: _angular_core.InputSignal | CheckboxModalFieldConfig | NumberModalFieldConfig | SwitchModalFieldConfig | SelectServerSideConfig | SelectFieldConfig | PhoneModalFieldConfig | FilterConfig | (ModalFieldConfig & { config?: TimeFieldConfig; })>; value: _angular_core.InputSignal; mode: _angular_core.InputSignal; errors: _angular_core.InputSignal; rowData: _angular_core.InputSignal; formValue: _angular_core.InputSignal; valueChange: _angular_core.OutputEmitterRef; onBlurEvent: _angular_core.OutputEmitterRef; onEnterEvent: _angular_core.OutputEmitterRef; selectionChange: _angular_core.OutputEmitterRef<{ selectedItem: any; newFormValue: any; }>; private componentRef; private fieldComponents; ngOnChanges(changes: SimpleChanges): void; private shouldReloadComponent; private updateComponentInputs; private loadComponent; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵdir: _angular_core.ɵɵDirectiveDeclaration, "[coreDynamicField]", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "rowData": { "alias": "rowData"; "required": false; "isSignal": true; }; "formValue": { "alias": "formValue"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "onBlurEvent": "onBlurEvent"; "onEnterEvent": "onEnterEvent"; "selectionChange": "selectionChange"; }, never, never, true, never>; } declare class CacheBustingInterceptor implements HttpInterceptor { intercept(req: HttpRequest, next: HttpHandler): Observable>; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class PermissionsInterceptor implements HttpInterceptor { private router; intercept(req: HttpRequest, next: HttpHandler): Observable>; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class CoreUiTranslateLoader implements TranslateLoader { private projectPath; private projectFileName; private corePath; private coreFileName; private useNodeModules; private translationMergeService; private http; constructor(projectPath?: string, projectFileName?: string, corePath?: string, coreFileName?: string, useNodeModules?: boolean); getTranslation(lang: string): Observable; } declare function CoreUiHttpLoaderFactory(projectPath?: string, projectFileName?: string, corePath?: string, coreFileName?: string, useNodeModules?: boolean): CoreUiTranslateLoader; declare function equalToValidator(targetKey: string): ValidatorFn; declare class DocumentFieldValidators { static required: ValidatorFn; static documentTypeRequired: ValidatorFn; static documentNumberRequired: ValidatorFn; static documentNumberFormat: ValidatorFn; static requiredAndValid: ValidatorFn; } declare function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader; declare function provideTranslateLoader(): _angular_core.EnvironmentProviders; declare function provideCoreUiTranslateLoader(config?: { projectPath?: string; projectFileName?: string; corePath?: string; coreFileName?: string; useNodeModules?: boolean; }): _angular_core.EnvironmentProviders; declare const PERMISSION_PROVIDER: InjectionToken; declare const PERMISSION_RESOURCES_PROVIDER: InjectionToken; declare const PERMISSION_ACTIONS_PROVIDER: InjectionToken; declare function providePermissionService(permissionService: any): Provider; declare function providePermissionServiceFactory(factory: () => PermissionProvider): Provider; declare function providePermissionResources(resources: PermissionResourcesProvider): Provider; declare function providePermissionActions(actions: PermissionActionsProvider): Provider; declare function providePermissionEnums(config: { resources?: PermissionResourcesProvider; actions?: PermissionActionsProvider; }): Provider[]; declare class ApiConfigurationProvider { private configSubject; setConfig(config: ApiConfig): void; getConfig(): ApiConfig | null; hasConfig(): boolean; hasCustomHeaders(): boolean; get config$(): rxjs.Observable; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class CoreUiTranslateService { private translateService; initialize(defaultLang?: string, currentLang?: string): void; changeLanguage(lang: string): Observable; instant(key: string, params?: any): string; get(key: string, params?: any): Observable; getMany(keys: string[], params?: any): Observable; getCurrentLang(): string; getDefaultLang(): string; getTranslateService(): TranslateService; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } type IdSelector = (item: T) => string | number; declare class DataStoreService { private stores; private defaultIdSelector; private ensureStore; hydrate(key: string, items: ReadonlyArray, idSelector?: IdSelector): void; upsertOne(key: string, item: T, idSelector?: IdSelector): void; upsertMany(key: string, items: ReadonlyArray, idSelector?: IdSelector): void; removeOne(key: string, id: string | number, idSelector?: IdSelector): void; removeMany(key: string, ids: ReadonlyArray, idSelector?: IdSelector): void; clear(key: string, idSelector?: IdSelector): void; selectAll(key: string, idSelector?: IdSelector): Signal>; getById(key: string, id: string | number, idSelector?: IdSelector): T | undefined; selectById(key: string, id: string | number, idSelector?: IdSelector): Signal; count(key: string, idSelector?: IdSelector): number; hasData(key: string): boolean; getStoreKeys(): string[]; removeStore(key: string): void; flush(key?: string): void; flushAll(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface ClassOperation { id: string; timestamp: number; operation: 'add' | 'remove' | 'toggle' | 'replace' | 'set'; target: string; classNames: string[]; oldClass?: string; success: boolean; } declare class CustomClassService implements OnDestroy { private rendererFactory; private dataStore; private renderer; private readonly STORE_KEY; private operationCounter; constructor(rendererFactory: RendererFactory2, dataStore: DataStoreService); ngOnDestroy(): void; addClass(target: any, classNames: string | string[], parent?: any): boolean; removeClass(target: any, classNames: string | string[], parent?: any): boolean; toggleClass(target: any, classNames: string | string[], parent?: any): boolean; hasClass(target: any, className: string, parent?: any): boolean; replaceClass(target: any, oldClass: string, newClass: string, parent?: any): boolean; setClass(target: any, classNames: string | string[], parent?: any): boolean; private resolveElements; private recordOperation; private getTargetIdentifier; private getElementSelector; getOperationHistory(): ClassOperation[]; getOperationsByType(operation: ClassOperation['operation']): ClassOperation[]; getOperationsByTarget(target: string): ClassOperation[]; getSuccessfulOperations(): ClassOperation[]; getFailedOperations(): ClassOperation[]; getOperationCount(): number; clearHistory(): void; getRecentOperations(limit?: number): ClassOperation[]; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class FileUploadService { private apiService; private httpClient; private loaderService; private alertService; private translateService; private globalApiConfigService; private getPresignedUrl; private uploadToS3; private confirmUpload; uploadFile(file: File, companyId: string, fileType: FileType): Observable; uploadMultipleFiles(files: File[], companyId: string, fileType: FileType): Observable; getPresignedDownloadUrl(fileId: string): Observable; getPresignedFile(fileId: string, download?: boolean, filename?: string): Observable; private downloadWithIframe; configureApiUrl(apiUrl: string): void; configureApi(config: ApiConfig): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class GlobalApiConfigService { private apiService; private currentConfig; configure(config: ApiConfig): void; getConfig(): ApiConfig | null; getApiUrl(): string | null; isConfigured(): boolean; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface HeaderConfiguration { global?: { get?: CustomHeader[]; post?: CustomHeader[]; put?: CustomHeader[]; patch?: CustomHeader[]; delete?: CustomHeader[]; }; contexts?: { [contextKey: string]: { get?: CustomHeader[]; post?: CustomHeader[]; put?: CustomHeader[]; patch?: CustomHeader[]; delete?: CustomHeader[]; }; }; endpoints?: { [endpoint: string]: { get?: CustomHeader[]; post?: CustomHeader[]; put?: CustomHeader[]; patch?: CustomHeader[]; delete?: CustomHeader[]; }; }; } interface HeaderConfigurationStrategy { strategy?: 'override' | 'merge' | 'append'; priority?: ('context' | 'endpoint' | 'global')[]; } declare enum ApiMethods { GET = "get", POST = "post", PUT = "put", PATCH = "patch", DELETE = "delete" } declare class HeaderConfigurationService { private configurationSubject; private strategySubject; configuration$: Observable; strategy$: Observable; setGlobalHeaders(headers: { get?: CustomHeader[]; post?: CustomHeader[]; put?: CustomHeader[]; patch?: CustomHeader[]; delete?: CustomHeader[]; }): void; setContextHeaders(contextKey: string, headers: { get?: CustomHeader[]; post?: CustomHeader[]; put?: CustomHeader[]; patch?: CustomHeader[]; delete?: CustomHeader[]; }): void; setEndpointHeaders(endpoint: string, headers: { get?: CustomHeader[]; post?: CustomHeader[]; put?: CustomHeader[]; patch?: CustomHeader[]; delete?: CustomHeader[]; }): void; setStrategy(strategy: HeaderConfigurationStrategy): void; getProcessedHeaders(method: ApiMethods, options?: { contextKey?: string; endpoint?: string; }): Record; private mergeHeaders; clearAllHeaders(): void; clearContextHeaders(contextKey: string): void; getCurrentConfiguration(): HeaderConfiguration; onConfigurationChange(): Observable; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } interface MobileBreakpointConfig { maxWidth: number; checkInterval?: number; showHeaderMaxWidth?: number; } declare class MobileResolutionService { private readonly DEFAULT_MOBILE_BREAKPOINT; private readonly DEFAULT_CHECK_INTERVAL; private _isMobile; private _screenWidth; private _breakpoint; private _showHeaderBreakpoint; private _isConfigured; private resizeTimeout; readonly isMobile: _angular_core.Signal; readonly screenWidth: _angular_core.Signal; readonly breakpoint: _angular_core.Signal; readonly showHeaderBreakpoint: _angular_core.Signal; readonly isConfigured: _angular_core.Signal; readonly isXSmall: _angular_core.Signal; readonly isSmall: _angular_core.Signal; readonly isMedium: _angular_core.Signal; readonly isLarge: _angular_core.Signal; readonly isXLarge: _angular_core.Signal; readonly shouldShowMobileHeader: _angular_core.Signal; readonly isXs: _angular_core.Signal; readonly isSm: _angular_core.Signal; readonly isMd: _angular_core.Signal; readonly isLg: _angular_core.Signal; readonly isXl: _angular_core.Signal; readonly isMobileDevice: _angular_core.Signal; readonly isTablet: _angular_core.Signal; readonly isDesktop: _angular_core.Signal; constructor(); configure(config?: MobileBreakpointConfig): void; private initializeWithDefaults; private updateScreenSize; private setupResizeListener; private handleResize; isWidthLessThan(width: number): boolean; isWidthGreaterThan(width: number): boolean; isWidthBetween(min: number, max: number): boolean; getCurrentBreakpoint(): 'xs' | 'sm' | 'md' | 'lg' | 'xl'; destroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class PermissionService { private userSubject; user$: rxjs.Observable; setUser(user: UsersModel | null): void; getUser(): UsersModel | null; hasPermission(resource: string | undefined, action: string, custom_action?: string): boolean; hasAnyPermission(resources: string[], action: string): boolean; getPermissions(): PermissionModel[]; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class PermissionWrapperService implements PermissionProvider { private externalProvider; private fallbackService; private get activeProvider(); constructor(); private extendPermissionsResources; private getAdditionalResources; private copyProviderMethods; hasPermission(resource: string | undefined, action: string, custom_action?: string): boolean; setUser(user: any): void; getUser(): any; callMethod(methodName: string, ...args: any[]): any; hasMethod(methodName: string): boolean; getAllResources(): typeof PermissionsResources; hasResource(resourceKey: string): boolean; getResourceValue(resourceKey: string): string | undefined; extendResources(additionalResources: Record): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class PermissionEnumsService { private externalResources; private externalActions; getResources(): { [key: string]: string; }; getActions(): { [key: string]: string; }; getResourceValue(key: string): string | undefined; getActionValue(key: string): string | undefined; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class RatingService { private apiService; /** * Submit a rating to the specified endpoint * @param endpoint - The API endpoint to submit the rating to * @param ratingData - The rating data to submit * @returns Observable with the API response */ submitRating(endpoint: string, ratingData: { rating: number; label: string; }): Observable; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class RedirectUrlService { private readonly REDIRECT_URL_KEY; setRedirectUrl(url: string): void; getRedirectUrl(): string | null; getAndClearRedirectUrl(): string | null; clearRedirectUrl(): void; hasRedirectUrl(): boolean; setFullRedirectUrl(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class TranslationMergeService { private http; constructor(http: HttpClient); loadCombinedTranslations(lang: string, projectPath?: string, projectFileName?: string, corePath?: string, coreFileName?: string, useNodeModules?: boolean): Observable; private loadCoreTranslationsWithFallback; private tryLoadFromPaths; private mergeWithProjectPriority; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class DateUtility { private static hasTz; private static pad2; private static formatByPattern; static fromUTCtoUruguay(date: string | Date, outputFormat?: string): string; static fromUTCtoUruguayWithInputFormat(date: string | Date, inputFormat?: string, outputFormat?: string): string; static fromUTCtoUruguayDate(date: string | Date): Date | null; static getCurrentUruguayTime(outputFormat?: string): string; static fromUruguayToUTC(date: string | Date, outputFormat?: string): string; static isSameDayInUruguay(date1: string | Date, date2: string | Date): boolean; } declare const isSameDate: (date1: Date, date2: Date) => boolean; declare class DynamicFieldsHelper implements DynamicFieldsHelperMethods { private formBuilder; private config; private mode; private _editedData; private _fieldErrors; private _originalData; private _form; readonly state: DynamicFieldsHelperState; constructor(config: DynamicFieldsHelperConfig, mode?: ModalMode); private initializeData; getFieldValue(fieldKey: keyof T): any; onFieldValueChange(fieldKey: keyof T, value: any): void; onFieldBlur(fieldKey: keyof T): void; getFieldErrors(fieldKey: keyof T): string[]; validateField(fieldKey: keyof T): void; validateAllFields(): boolean; reset(): void; setData(data: Partial): void; getPayloadData(): T | null; private updateField; private getFieldConfig; private detectChanges; private isFormValid; private convertEmptyStringsToNull; } type UruguayanDocumentInput = string | number; declare function transformUruguayanDocument(input: UruguayanDocumentInput): string; declare function getUruguayanDocumentValidationDigit(input: UruguayanDocumentInput): string; declare function validateUruguayanDocument(input: UruguayanDocumentInput): boolean; declare function generateRandomUruguayanDocument(): string; declare const transform: typeof transformUruguayanDocument; declare const validationDigit: typeof getUruguayanDocumentValidationDigit; declare const validateCi: typeof validateUruguayanDocument; declare const random: typeof generateRandomUruguayanDocument; declare const validate: typeof validateUruguayanDocument; declare const getValidationDigit: typeof getUruguayanDocumentValidationDigit; declare const getRandomCi: typeof generateRandomUruguayanDocument; declare const UruguayanDocumentValidationHelper: { transform: typeof transformUruguayanDocument; validationDigit: typeof getUruguayanDocumentValidationDigit; getValidationDigit: typeof getUruguayanDocumentValidationDigit; validateCi: typeof validateUruguayanDocument; validate: typeof validateUruguayanDocument; random: typeof generateRandomUruguayanDocument; getRandomCi: typeof generateRandomUruguayanDocument; }; declare const uruguayanDocumentValidator: ValidatorFn; type AgeValidationInput = string | number | Date; type AgeComparisonMode = 'min' | 'max' | 'exact'; interface AgeValidationOptions { comparison?: AgeComparisonMode; referenceDate?: AgeValidationInput; } declare function calculateAge(birthDateInput: AgeValidationInput, referenceInput?: AgeValidationInput): number; declare function getLatestBirthDateForAge(age: number, referenceInput?: AgeValidationInput): Date | null; declare function validateAge(birthDateInput: AgeValidationInput, requiredAge: number, options?: AgeValidationOptions): boolean; declare const AgeValidationHelper: { calculateAge: typeof calculateAge; validateAge: typeof validateAge; getLatestBirthDateForAge: typeof getLatestBirthDateForAge; }; declare const ageValidator: (minimumAge: number) => ValidatorFn; export { AD_AUTH_CONFIG, AD_AUTH_INTERCEPTOR_CONFIG, ALL_COUNTRY_CODES, ActiveFiltersComponent, AdAuthService, AdInteractionType, AdLoginButtonComponent, AgeValidationHelper, AlertComponent, AlertContainerComponent, AlertService, AlertType, ApiConfigurationProvider, BaseFieldComponent, ButtonContext, ButtonSize, ButtonType, COMMON_COUNTRIES, CacheBustingInterceptor, CalendarEventType, CardComponent, CarouselComponent, ChatMessagePosition, ChatMessageType, CheckboxFieldComponent, ConfigurationModel, ConfirmationDialogComponent, ConfirmationDialogService, CoreHostDirective, CoreManualRefreshComponent, CoreUiHttpLoaderFactory, CoreUiTranslateLoader, CoreUiTranslateService, CountryCode, CustomClassService, DEFAULT_AD_AUTH_INTERCEPTOR_CONFIG, DEFAULT_COUNTRIES, DEFAULT_SCHEDULER_CONFIG, DataListComponent, DataListItemComponent, DataStoreService, DateFieldComponent, DateUtility, DatetimeFieldComponent, DayState, DayType, DialogActions, DocumentAction, DocumentDisplayMode, DocumentFieldComponent, DocumentFieldValidators, DocumentPayloadMode, DropdownComponent, DropdownDirection, DropdownService, DynamicFieldDirective, DynamicFieldsHelper, FieldErrorsComponent, FieldType, FileFieldComponent, FileModel, FilePreviewActionType, FileTemplateModel, FileTemplateType, FileType, FileTypeModel, FileUploadService, FilterModalComponent, FilterService, FilterType, FixedActionPosition, FixedActionsMobileModalComponent, FixedActionsMobileModalService, GalleryAnimationType, GalleryLayoutType, GalleryModalComponent, GalleryModalGlobalService, GenericButtonComponent, GenericCalendarComponent, GenericChatComponent, GenericChatService, GenericDocumentationComponent, GenericFixedActionsComponent, GenericGalleryComponent, GenericModalComponent, GenericPaginationComponent, GenericRatingComponent, GenericSchedulerComponent, GenericSidebarComponent, GenericSkeletonComponent, GenericStepsComponent, GenericSwitchComponent, GenericTableComponent, GenericTabsComponent, GenericTimelineComponent, GlobalApiConfigService, HeaderComponent, HeaderConfigurationService, HeaderElementType, HeaderService, HttpLoaderFactory, ImageModalComponent, ImageModalService, ImagePreviewComponent, LATIN_AMERICA_COUNTRIES, LayoutAuth, LayoutBreakpoint, LayoutComponent, LayoutService, LayoutStateService, LayoutType, LoaderComponent, LoaderService, MODEL_REFERENCE_SORT_KEY, MainNavComponent, MainNavService, ManualRefreshService, MobileHeaderComponent, MobileResolutionService, ModalMode, ModelApiService, MultiEntryFieldComponent, MultiEntryOutputFormat, NumberFieldComponent, NumberFieldConfigType, NumberFieldType, NumberRange, PERMISSION_ACTIONS_PROVIDER, PERMISSION_PROVIDER, PERMISSION_RESOURCES_PROVIDER, PaginationService, PasswordFieldComponent, PermissionEnumsService, PermissionModel, PermissionService, PermissionWrapperService, PermissionsActions, PermissionsCustomActions, PermissionsInterceptor, PermissionsResources, PhoneFieldComponent, ProgressBarComponent, ProgressBarSize, RatingService, RatingSize, RatingType, RedirectUrlService, ResetPasswordModel, RoleModel, SOUTH_AMERICA_COUNTRIES, SelectFieldComponent, ServerSelectFieldComponent, ServerSelectService, SidebarCustomModalComponent, SidebarCustomModalService, SidebarHeight, SidebarMobileModalService, SidebarMobileType, SidebarPosition, SidebarService, SidebarState, SidebarTemplateRegistryService, SidebarVisibility, SidebarWidth, SkeletonAnimation, SkeletonService, SkeletonSize, SkeletonType, SmartFieldComponent, SortDirection, SortMode, StepSize, StepStatus, StepType, StepsService, SwitchFieldComponent, TableAction, TableActionService, TableDataService, TableFixedActionsService, TableSortService, TextAreaFieldComponent, TextFieldComponent, TimeFieldComponent, TimeInterval, TimelineService, TimelineStatus, TimelineType, TranslationMergeService, UruguayanDocumentValidationHelper, UsersModel, VERSION, WeekDay, adAuthGuard, adAuthInterceptor, adGuestGuard, adRoleGuard, ageValidator, calculateAge, equalToValidator, generateRandomUruguayanDocument, getCountryCodeStrings, getLatestBirthDateForAge, getRandomCi, getUruguayanDocumentValidationDigit, getValidationDigit, isSameDate, isValidCountryCode, provideAdAuth, provideAdAuthInterceptor, provideAdAuthWithInterceptor, provideCoreUiTranslateLoader, providePermissionActions, providePermissionEnums, providePermissionResources, providePermissionService, providePermissionServiceFactory, provideTranslateLoader, random, transform, transformUruguayanDocument, uruguayanDocumentValidator, validate, validateAge, validateCi, validateUruguayanDocument, validationDigit }; export type { ActiveFilterItem, ActiveFiltersConfig, AdAuthConfig, AdAuthEvent, AdAuthInterceptorConfig, AdAuthState, AdAuthUser, AdAuthorizationCodeResponse, AdLoginButtonConfig, AdditionalPermissionResources, AddressModel, AgeComparisonMode, AgeValidationInput, AgeValidationOptions, Alert, ApiConfig, ApiResponse, BottomNavItem, ButtonActionEvent, ButtonConfig, CalendarConfig, CalendarDay, CalendarEvent, CalendarHoliday, CarouselConfig, CarouselImage, ChatConfig, ChatMessage, CheckboxFieldConfig, CheckboxModalFieldConfig, CheckboxOption, ColumnConfig, ColumnDisabledConfig, CompanyInfo, ConfirmUploadRequest, ConfirmationDialogConfig, CountryOption, CustomAction, DataListItem, DateFieldConfig, DateModalFieldConfig, DateNavigationEvent, DateSelectionEvent, DocumentActionEvent, DocumentConfig, DocumentFieldConfig, DocumentFieldValue, DocumentItem, DocumentOption, DynamicFieldsHelperConfig, DynamicFieldsHelperMethods, DynamicFieldsHelperState, EventClickEvent, EventHoverEvent, ExpansionConfig, ExtendedModalFieldConfig, ExtendedPermissionProvider, FileFieldConfig, FilePreviewAction, FilePreviewConfig, FilePreviewItem, FileUploadConfig, FilterConfig, FilterParams, FixedActionConfig, FixedActionsConfig, GalleryConfig, GalleryImage, GenericTab, GenericTabClickEvent, GenericTabConfig, GlobalAction, HeaderAction, HeaderActionConfig, HeaderConfig, HeaderElementConfig, HeaderOrderConfig, HolidaySets, ImageModalData, InlineEditConfig, LayoutConfig, LayoutDataAttributes, LogoImagesConfig, ManualRefreshConfig, MobileBreakpointConfig, MobileHeaderConfig, MobileModalData, ModalButtonConfig, ModalFieldConfig, ModalStepConfig, ModalTabConfig, ModalValidationResult, MoreDataConfig, MultiEntryFieldConfig, MultiEntryFieldValue, NavConfig, NavItem, NavUserConfig, NumberFieldConfig, NumberModalFieldConfig, PaginatedResponse, PaginationEvent, PaginationInfo, PermissionActionsProvider, PermissionProvider, PermissionResourcesProvider, PhoneFieldConfig, PhoneModalFieldConfig, PresignedDownloadUrlResponse, PresignedUrlRequest, PresignedUrlResponse, PreviewFileUrl, RatingConfig, RatingStar, RatingSubmitEvent, RowStyleConfig, RowVisibilityConfig, SchedulerColumn, SchedulerConfig, SchedulerTimeSlot, SearchResponse, SelectServerSideConfig, SidebarBackButton, SidebarComponentConfig, SidebarComponentEvents, SidebarConfig, SidebarCustomModalConfig, SidebarItem, SidebarResponsiveConfig, SidebarSubItem, SidebarTemplateContext, SkeletonConfig, SkeletonItemConfig, SlotClickEvent, SortConfig, StepChangeEvent, StepClickEvent, StepItemConfig, StepsConfig, SwitchFieldConfig, SwitchModalFieldConfig, SwitchOption, TableActionConfig, TableFixedActionsConfig, TableSortConfig, TimeFieldConfig, TimeFieldValue, TimeOption, TimeSlot, TimelineConfig, TimelineItem, UruguayanDocumentInput };