import * as i0 from "@angular/core"; import { DestroyRef, InjectionToken, Injector, InputSignal, ModuleWithProviders, OnDestroy, OnInit, PipeTransform, Signal, TemplateRef, Type, ViewContainerRef, WritableSignal } from "@angular/core"; import * as i15 from "@smartsoft001/angular"; import { BaseComponent, DynamicComponentType, DynamicContentDirective, FormComponent, IButtonOptions, ICellPipe, IDetailsOptions, IFormOptions, IIconButtonOptions, IListOptions, IListPaginationOptions, IModelLabelOptions, IModelLabelProvider, IPageOptions, InputBaseComponent, InputOptions, ListMode, PaginationMode, SmartFormGroup, SmartPageVariant } from "@smartsoft001/angular"; import { IEntity } from "@smartsoft001/domain-core"; import { IFieldOptions, IModelFilter } from "@smartsoft001/models"; import * as i17 from "@angular/forms"; import { UntypedFormControl } from "@angular/forms"; import { TranslateService } from "@ngx-translate/core"; import { Action, ActionsSubject, State as State$1, Store } from "@ngrx/store"; import * as i18 from "@angular/common"; import * as i19 from "ng-dynamic-component"; import "reflect-metadata"; import { HttpClient } from "@angular/common/http"; import { Observable, Subscription } from "rxjs"; import * as i7 from "@angular/router"; export declare class ExportBaseComponent> extends BaseComponent implements OnInit { private facade; private popoverService; private styleService; private elementRef; private injector; buttonExportCsvOptions: IButtonOptions; buttonExportXlsxOptions: IButtonOptions; ngOnInit(): void; private initButtonExportOptions; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, {}, {}, never, never, true, never>; } declare namespace export_component_d_exports { export { ExportComponent }; } export declare class ExportComponent> extends ExportBaseComponent { static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-export", never, {}, {}, never, never, true, never>; } export interface ICrudFilter { searchText?: string; sortBy?: string; sortDesc?: boolean; offset?: number; limit?: number; paginationMode?: PaginationMode; query?: Array; } export interface ICrudFilterQueryItem extends IModelFilter { key: string; value: any; type: '=' | '!=' | '>=' | '<=' | '<' | '>'; hidden?: boolean; } export interface ICrudCreateManyOptions { mode: CrudCreateManyMode; } export interface ICrudListGroup { key: string; value: string; text: string; show?: boolean; changed?: boolean; children?: Array; } export type CrudCreateManyMode = 'default' | 'replace'; declare namespace filter_component_d_exports { export { FilterComponent }; } export declare class FilterComponent { FieldType: typeof import("@smartsoft001/models").FieldTypeDef; item: import("@angular/core").InputSignal; filter: import("@angular/core").InputSignal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class CrudConfig { apiUrl: string; entity: string; type?: any; reducerFactory?: () => any; baseQuery?: Array; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class CrudFullConfig extends CrudConfig { title: string; details?: boolean | { cellPipe?: ICellPipe; components?: { top?: any; bottom?: any; }; }; edit?: boolean | { cellPipe?: ICellPipe; components?: { top?: any; bottom?: any; }; }; add?: boolean | { components?: { top?: any; bottom?: any; }; }; remove?: boolean; search?: boolean; export?: boolean; pagination?: { limit: number; }; sort?: boolean | { default?: string; defaultDesc?: boolean; }; list?: { cellPipe?: ICellPipe; components?: { top?: any; multi?: any; }; mode?: ListMode; paginationMode?: PaginationMode; resetQuery?: 'beforeInit'; groups?: Array; }; buttons?: Array; inputComponents?: { [key: string]: Type>; }; cssClass?: string; variant?: SmartPageVariant; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class CrudFacade> { private readonly store; private config; readonly loaded: Signal; readonly loading: Signal; readonly selected: Signal; readonly multiSelected: Signal; readonly list: Signal; readonly filter: Signal; readonly totalCount: Signal; readonly links: Signal; readonly error: Signal; constructor(store: Store, config: CrudConfig); create(item: T): void; createMany(items: Array, options: ICrudCreateManyOptions): void; read(filter?: ICrudFilter): void; clear(): void; select(id: string): void; unselect(): void; multiSelect(items: Array): void; update(item: T): void; export(filter?: ICrudFilter, format?: string): void; updatePartial(item: Partial & { id: string; }): void; updatePartialMany(items: (Partial & { id: string; })[]): void; delete(id: string): void; private getStore; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class BaseComponent$1> implements OnInit { protected facade: CrudFacade; protected translateService: TranslateService; protected config: CrudConfig; protected modelPossibilitiesProvider: import("@smartsoft001/crud-shell-angular").ICrudModelPossibilitiesProvider | null; protected injector: Injector; protected destroyRef: DestroyRef; private _model; /** * Local, mutation-free working copy of the last filter this component pushed * to `facade.read(...)`. The store-bound `filter()` input is frozen under * NgRx `strictStateImmutability`, so refresh/clear operate on a clone; the * read getters (`value`, `minValue`, `maxValue`, `hasValue`, …) prefer this * pending copy until the real store update flows back through the input. */ private _pendingFilter; /** Snapshot of `filter()` that `_pendingFilter` was derived from. */ private _pendingFilterSource; possibilities: Signal<{ id: any; text: string; }[]>; readonly item: InputSignal; readonly filter: InputSignal; /** * The filter the component should read from: the pending working copy when it * is still in sync with the current input, otherwise the raw input. Once the * store update arrives (a new `filter()` reference), the pending copy is * considered stale and the fresh input wins. */ protected readonly effectiveFilter: Signal; /** * OnPush-safe replacement for `@if (value)` in templates (partial GAP-19). * True when filter().query has a matching entry (key + type) with a * non-empty value. */ readonly hasValue: Signal; /** * OnPush-safe replacement for `@if (minValue)` in templates (partial * GAP-19). True when filter().query has a matching `>=` entry (range "from") * with a non-empty value. */ readonly hasMinValue: Signal; /** * OnPush-safe replacement for `@if (maxValue)` in templates (partial * GAP-19). True when filter().query has a matching `<=` entry (range "to") * with a non-empty value. */ readonly hasMaxValue: Signal; /** Lazily-built model instance used to derive field options/labels. */ protected get model(): T; get value(): any; set value(val: any); get minValue(): any; set minValue(val: any); get maxValue(): any; set maxValue(val: any); get lang(): string; /** * Returns a filter object safe to mutate. The store-bound `filter()` input is * frozen under NgRx `strictStateImmutability`, so when (any part of) the * source is frozen we hand back a deep-enough clone — object + query array + * query entries — leaving the store untouched. When the source is a plain, * extensible object (no immutability checks active) we keep operating on it in * place so consumers that hold the same reference still observe the change. */ private cloneFilter; /** * True when `filter` (and its query array + entries) can be mutated directly, * i.e. nothing is frozen. */ private isMutationSafe; /** * Records the mutated clone as the pending working copy (so read getters * reflect it immediately) and dispatches it through the facade. */ private commitFilter; refresh(val: any, type?: string | null): void; /** * Builds the `InputOptions` consumed by shared `smart-input-*` components for * a single reactive control. When `withPossibilities` is true (radio/select * style filters) the base `possibilities` signal is mapped into the * `{ id, text, checked }` shape the shared inputs expect; otherwise it is * omitted (text/flag filters do not need possibilities). */ protected buildInputOptions(control: UntypedFormControl, withPossibilities?: boolean): InputOptions; /** * Creates a reactive control bridged to the legacy filter state for a given * query slot: seeded from the current query value for that slot (`null` -> * `value` / `item.type`, `'>='` -> `minValue`, `'<='` -> `maxValue`), and * wired so every change re-runs the (debounced) `refresh` for that slot. */ protected bindControl(type?: string | null): UntypedFormControl; /** * Creates a reactive control bridged to the default (`value` / `item.type`) * query slot. */ protected bindValueControl(): UntypedFormControl; clear(): void; ngOnInit(): void; private initPossibilities; private hasQueryValue; private isArrayType; private refreshForArray; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare namespace date_component_d_exports { export { FilterDateComponent }; } export declare class FilterDateComponent> extends BaseComponent$1 { get allowAdvanced(): boolean; set customValue(val: any); get customValue(): any; set customMinValue(val: any); get customMinValue(): any; set customMaxValue(val: any); get customMaxValue(): any; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filter-date", never, {}, {}, never, never, true, never>; } declare namespace date_with_edit_component_d_exports { export { FilterDateWithEditComponent }; } export declare class FilterDateWithEditComponent> extends FilterDateComponent { advanced: WritableSignal; toggleAdvanced(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filter-date-with-edit", never, {}, {}, never, never, true, never>; } declare namespace date_time_component_d_exports { export { FilterDateTimeComponent }; } export declare class FilterDateTimeComponent> extends FilterDateComponent { static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filter-date-time", never, {}, {}, never, never, true, never>; } declare namespace radio_component_d_exports { export { FilterRadioComponent }; } export declare class FilterRadioComponent> extends BaseComponent$1 implements OnInit { readonly inputOptions: WritableSignal | undefined>; readonly fieldOptions: WritableSignal; ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filter-radio", never, {}, {}, never, never, true, never>; } declare namespace text_component_d_exports { export { FilterTextComponent }; } export declare class FilterTextComponent> extends BaseComponent$1 implements OnInit { readonly inputOptions: WritableSignal | undefined>; readonly fieldOptions: WritableSignal; ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filter-text", never, {}, {}, never, never, true, never>; } declare namespace flag_component_d_exports { export { FilterFlagComponent }; } export declare class FilterFlagComponent> extends BaseComponent$1 implements OnInit { readonly inputOptions: WritableSignal | undefined>; readonly fieldOptions: WritableSignal; ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filter-flag", never, {}, {}, never, never, true, never>; } declare namespace check_component_d_exports { export { FilterCheckComponent }; } export declare class FilterCheckComponent> extends BaseComponent$1 implements OnInit { list: Signal<{ value: any; isCheck: boolean; }[]>; readonly hasCheckedValues: Signal; ngOnInit(): void; onCheckChange(checked: boolean, entry: { value: any; isCheck: boolean; }): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filter-check", never, {}, {}, never, never, true, never>; } declare namespace int_component_d_exports { export { FilterIntComponent }; } export declare class FilterIntComponent> extends BaseComponent$1 implements OnInit { readonly valueOptions: WritableSignal | undefined>; readonly valueFieldOptions: WritableSignal; readonly advanced: WritableSignal; minControl: UntypedFormControl; maxControl: UntypedFormControl; get allowAdvanced(): boolean; ngOnInit(): void; toggleAdvanced(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filter-int", never, {}, {}, never, never, true, never>; } export declare class FiltersBaseComponent> implements OnInit { private menuService; private config; private facade; private styleService; private elementRef; list: WritableSignal>; filter: Signal; /** * Hide menu used only from MenuService */ readonly hideMenu: InputSignal; onClose(): Promise; ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "hideMenu": { "alias": "hideMenu"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare namespace filters_component_d_exports { export { FiltersComponent }; } /** * This component is only to use in crud module * @requires CrudModule * @example * * html: * * use on the model: * @Model({ titleKey: 'body', filters: [ { label: 'testNegation', key: 'body', type: '!=', }, { label: 'fromDate', key: 'createDate', type: '<=', fieldType: FieldType.dateWithEdit }, { label: 'select', key: 'type', type: '=', fieldType: FieldType.radio, possibilities$: of([ { id: 1, text: 'Test 1' }, { id: 2, text: 'Test 2' } ]) } ] }) * * use on the field (list.filter property): * @Field({ create: modifyMetdata, update: { ...modifyMetdata, multi: true }, type: FieldType.longText, details: true, list: { order: 2, filter: true } }) body: string; */ export declare class FiltersComponent> extends FiltersBaseComponent { static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-filters", never, {}, {}, never, never, true, never>; } declare namespace filters_config_component_d_exports { export { FiltersConfigComponent }; } export declare class FiltersConfigComponent implements OnInit { private readonly facade; private styleService; private elementRef; query: Signal; onRemoveQuery(item: ICrudFilterQueryItem): void; ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class MultiselectBaseComponent> { private facade; config: CrudFullConfig; private menuService; private _list; private _changes; item: T; valid: boolean; buttonOptions: IButtonOptions; lock: boolean; showForm: boolean; list: Signal; constructor(); onClose(): Promise; onPartialChange(changes: Partial, list: Array): void; onValidChange(valid: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, {}, {}, never, never, true, never>; } declare namespace multiselect_component_d_exports { export { MultiselectComponent }; } export declare class MultiselectComponent> extends MultiselectBaseComponent { static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-multiselect", never, {}, {}, never, never, true, never>; } export declare class GroupBaseComponent> extends BaseComponent implements OnInit, OnDestroy { private styleService; private elementRef; private groupService; private cd; readonly groups: InputSignal | null>; readonly listOptions: InputSignal | null>; change(val: boolean, item: ICrudListGroup, force?: boolean): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "groups": { "alias": "groups"; "required": false; "isSignal": true; }; "listOptions": { "alias": "listOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare namespace group_component_d_exports { export { GroupComponent }; } export declare class GroupComponent> extends GroupBaseComponent { static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-group", never, {}, {}, never, never, true, never>; } declare namespace form_options_pipe_d_exports { export { FormOptionsPipe }; } export declare class FormOptionsPipe> implements PipeTransform { private modelPossibilitiesProvider; transform(item: T, mode: string, type: any, uniqueProvider?: (values: Record) => Promise, inputComponents?: { [key: string]: Type>; }): IFormOptions; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵpipe: i0.ɵɵPipeDeclaration, "smartFormOptions", true>; } declare namespace pipes_module_d_exports { export { CrudPipesModule }; } export declare class CrudPipesModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare namespace components_module_d_exports { export { CrudComponentsModule }; } export declare class CrudComponentsModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class SocketService { static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class NotSocketService { static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class CrudService> { protected config: CrudConfig; protected http: HttpClient; protected socket: SocketService | null; protected _formatMap: { csv: string; xlsx: string; }; create(item: T): Promise; createMany(items: Array, options: ICrudCreateManyOptions): Promise; getById(id: string): Promise; getList(filter?: ICrudFilter | null): Promise<{ data: T[]; totalCount: number; links: any; }>; exportList(filter: (ICrudFilter | null) | undefined, format: 'csv' | 'xlsx'): Promise; update(item: T): Promise; updatePartial(item: Partial & { id: string; }): Promise; updatePartialMany(items: (Partial & { id: string; })[]): Promise; delete(id: string): Promise; protected getQuery(filter: ICrudFilter): string; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class CrudEffects> { private actions$; private service; private config; private store; private state; constructor(actions$: ActionsSubject, service: CrudService, config: CrudConfig, store: Store, state: State$1); init(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class CrudCoreModule> { constructor(config: CrudConfig, effects: CrudEffects, store: Store); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export declare class CrudModule> { static forFeature>(options: ICrudModuleOptionsWithRoutng | ICrudModuleOptionsWithoutRoutng): ModuleWithProviders>; constructor(config: CrudConfig, effects: CrudEffects, store: Store); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export interface ICrudModuleOptionsWithRoutng { config: CrudFullConfig; socket?: boolean; routing: true; } export interface ICrudModuleOptionsWithoutRoutng { config: CrudConfig; socket?: boolean; routing: false; } export declare abstract class CrudItemPageBaseComponent> extends BaseComponent { config: CrudFullConfig; facade: CrudFacade; static smartType: DynamicComponentType; selected: Signal; contentTpl: Signal; formComponents: Signal[]>; detailsOptions: import("@angular/core").InputSignal | undefined>; mode: import("@angular/core").InputSignal; uniqueProvider: import("@angular/core").InputSignal<((values: Record) => Promise) | undefined>; onPartialChange: import("@angular/core").OutputEmitterRef>; onChange: import("@angular/core").OutputEmitterRef; onValidChange: import("@angular/core").OutputEmitterRef; constructor(); /** * The reactive form of the first rendered ``, or `undefined` * until the form factory has built it. `FormComponent.form` is a getter over * a signal, so it always reports the group currently rendered; a method is * kept here so the page button handlers read that group at call time rather * than through a `computed` captured when the form did not exist yet. */ getForm(): SmartFormGroup | undefined; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "detailsOptions": { "alias": "detailsOptions"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "uniqueProvider": { "alias": "uniqueProvider"; "required": false; "isSignal": true; }; }, { "onPartialChange": "onPartialChange"; "onChange": "onChange"; "onValidChange": "onValidChange"; }, never, never, true, never>; } declare namespace standard_component_d_exports$1 { export { ItemStandardComponent }; } export declare class ItemStandardComponent> extends CrudItemPageBaseComponent { static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-item-standard-page", never, {}, {}, never, never, true, never>; } declare namespace item_component_d_exports { export { ItemComponent }; } declare const ItemComponent_base: new () => import("@smartsoft001/angular").IDynamicComponent>; export declare class ItemComponent> extends ItemComponent_base implements OnInit, OnDestroy { private router; private activeRoute; private facade; private service; private dynamicComponentLoader; private translateService; config: CrudFullConfig; private location; private cd; private styleService; private elementRef; private toastService; private pageService; private detailsService; private _mode; pageOptions: WritableSignal; detailsOptions: WritableSignal | undefined>; id: string; formValue: T; formValid: boolean; item: T; formPartialValue: Partial; uniqueProvider: WritableSignal<((values: Record) => Promise) | undefined>; set mode(val: string); get mode(): string; selected: Signal; standardComponents: Signal>[]>; contentTpl: Signal | undefined>; topTpl: Signal; bottomTpl: Signal; dynamicContents: Signal; subscription: Subscription; constructor(); refreshProperties(): void; ngOnInit(): Promise; ngOnDestroy(): void; private generateComponents; onPartialChange(val: Partial): void; onChange(val: T): void; onValidChange(val: boolean): void; private initPageOptions; private getButtons; private getTitle; private removeParagraph; private checkFirstInvalid; private getInvalidFields; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-item-page", never, {}, {}, never, ["*"], true, never>; } export declare abstract class CrudListPageBaseComponent> extends BaseComponent { config: CrudFullConfig; static smartType: DynamicComponentType; contentTpl: import("@angular/core").Signal; listOptions: import("@angular/core").InputSignal | null | undefined>; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "listOptions": { "alias": "listOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare namespace list_component_d_exports { export { ListComponent }; } declare const ListComponent_base: new () => import("@smartsoft001/angular").IDynamicComponent>; export declare class ListComponent> extends ListComponent_base implements OnInit, OnDestroy { private facade; private router; private dynamicComponentLoader; private injector; private cd; private menuService; private hardwareService; private paginationFacade; private pageService; config: CrudFullConfig; private searchService; private _cleanMultiSelected$; pageOptions: WritableSignal; listOptions: WritableSignal | null>; links: Signal; filter: Signal; topTpl: Signal; contentTpl: Signal | undefined>; dynamicContents: Signal; refreshProperties(): void; ngOnInit(): Promise; /** * The sort the list headers start from: the one of the first read (the * search filter, else `config.sort.default`). A header click reads again * through `provider.getData({ offset: 0, sortBy, sortDesc })`. */ private getListSort; private initCloseMenu; private clear; private getEndButtons; private initTopComponent; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-list-page", never, {}, {}, never, ["*"], true, never>; } declare namespace standard_component_d_exports { export { ListStandardComponent }; } export declare class ListStandardComponent> extends CrudListPageBaseComponent { private readonly facade; readonly config: CrudFullConfig; isSearch: Signal; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "smart-crud-list-standard-page", never, {}, {}, never, never, true, never>; } export declare const PAGES: (typeof ItemStandardComponent | typeof ItemComponent | typeof ListStandardComponent | typeof ListComponent)[]; export declare class CrudFullModule> { constructor(config: CrudConfig, effects: CrudEffects, store: Store); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export declare class CrudListPaginationFactory> { private readonly facade; private readonly injector; create(options: { mode?: PaginationMode; limit: number; provider: { getLinks(): any; getFilter(): ICrudFilter; }; }): Promise; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class PageService { private authService; private config; checkPermissions(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class CrudSearchService { private _filterSource; private _enabledSource; get filter(): Partial; get enabled(): boolean; enabled$: Observable; filter$: Observable>; setFilter(val: Partial): void; setEnabled(val: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare const create: >(entity: string, item: T) => Action & { item: T; }; export declare const createSuccess: >(entity: string, item: T) => Action & { item: T; }; export declare const createFailure: >(entity: string, item: T, error: any) => Action & { item: T; error: any; }; export declare const createMany: >(entity: string, data: { items: T[]; options: ICrudCreateManyOptions; }) => Action & { data: { items: T[]; options: ICrudCreateManyOptions; }; }; export declare const createManySuccess: >(entity: string, data: { items: T[]; options: ICrudCreateManyOptions; }) => Action & { data: { items: T[]; options: ICrudCreateManyOptions; }; }; export declare const createManyFailure: >(entity: string, data: { items: T[]; options: ICrudCreateManyOptions; }, error: any) => Action & { data: { items: T[]; options: ICrudCreateManyOptions; }; error: any; }; export declare const read: (entity: string, filter?: ICrudFilter) => Action & { filter?: ICrudFilter; }; export declare const readSuccess: , F>(entity: string, filter: F, result: { data: T[]; totalCount: number; links: any; }) => Action & { result: { data: T[]; totalCount: number; links: any; }; filter: F; }; export declare const readFailure: (entity: string, filter: F, error: any) => Action & { filter: F; error: any; }; export declare const clear: (entity: string) => Action; export declare const exportList: (entity: string, filter: (ICrudFilter | null) | undefined, format: any) => Action & { filter: ICrudFilter; format: any; }; export declare const exportListSuccess: , F>(entity: string, filter: F) => Action & { filter: F; }; export declare const exportListFailure: (entity: string, filter: F, error: any) => Action & { filter: F; error: any; }; export declare const select: (entity: string, id: string) => Action & { id: string; }; export declare const selectSuccess: , F>(entity: string, id: string, item: T) => Action & { id: string; item: T; }; export declare const selectFailure: (entity: string, id: string, error: any) => Action & { id: string; error: any; }; export declare const unselect: (entity: string) => Action; export declare const multiSelect: >(entity: string, items: Array) => Action & { items: Array; }; export declare const update: >(entity: string, item: T) => Action & { item: T; }; export declare const updateSuccess: >(entity: string, item: T) => Action & { item: T; }; export declare const updateFailure: >(entity: string, item: T, error: any) => Action & { item: T; error: any; }; export declare const updatePartial: >(entity: string, item: Partial & { id: string; }) => Action & { item: Partial & { id: string; }; }; export declare const updatePartialSuccess: >(entity: string, item: Partial & { id: string; }) => Action & { item: Partial & { id: string; }; }; export declare const updatePartialFailure: >(entity: string, item: Partial & { id: string; }, error: any) => Action & { item: Partial & { id: string; }; error: any; }; export declare const updatePartialMany: >(entity: string, items: Partial & { id: string; }[]) => Action & { items: Partial & { id: string; }[]; }; export declare const updatePartialManySuccess: >(entity: string, items: Partial & { id: string; }[]) => Action & { items: Partial & { id: string; }[]; }; export declare const updatePartialManyFailure: >(entity: string, items: Partial & { id: string; }[], error: any) => Action & { items: Partial & { id: string; }[]; error: any; }; export declare const deleteItem: (entity: string, id: string) => Action & { id: string; }; export declare const deleteSuccess: (entity: string, id: string) => Action & { id: string; }; export declare const deleteFailure: (entity: string, id: string, error: any) => Action & { id: string; error: any; }; export interface State> { selected?: T; multiSelected?: Array; list?: T[]; totalCount?: number; filter?: ICrudFilter; links?: any; loaded: boolean; error?: string | null; } export declare const initialState: State; export declare function getReducer(entity: string): (state: any, action: Action) => State | { loaded: boolean; error: any; selected?: any; multiSelected?: any[] | undefined; list?: any[] | undefined; totalCount?: number; filter?: ICrudFilter; links?: any; } | { loaded: boolean; filter: any; error: null; totalCount: null; links: null; selected?: any; multiSelected?: any[] | undefined; list?: any[] | undefined; } | { loaded: boolean; list: any[]; totalCount: any; links: any; error: null; selected?: any; multiSelected?: any[] | undefined; filter?: ICrudFilter; }; export declare const getCrudState: (entity: string) => import("@ngrx/store").MemoizedSelector>; export declare const getCrudSelected: (entity: string) => import("@ngrx/store").MemoizedSelector any>; export declare const getCrudMultiSelected: (entity: string) => import("@ngrx/store").MemoizedSelector any>; export declare const getCrudList: (entity: string) => import("@ngrx/store").MemoizedSelector any>; export declare const getCrudTotalCount: (entity: string) => import("@ngrx/store").MemoizedSelector any>; export declare const getCrudLinks: (entity: string) => import("@ngrx/store").MemoizedSelector any>; export declare const getCrudLoaded: (entity: string) => import("@ngrx/store").MemoizedSelector any>; export declare const getCrudFilter: (entity: string) => import("@ngrx/store").MemoizedSelector any>; export declare const getCrudError: (entity: string) => import("@ngrx/store").MemoizedSelector any>; /** * @deprecated - please, use IModelPossibilitiesProvider from @smartsoft001/angular */ export declare abstract class ICrudModelPossibilitiesProvider { abstract get(type: any): { [key: string]: Observable<{ id: any; text: string; }[]>; }; } /** * @deprecated - please, use MODEL_POSSIBILITIES_PROVIDER from @smartsoft001/angular */ export declare const CRUD_MODEL_POSSIBILITIES_PROVIDER: InjectionToken; export declare class CrudModelLabelProvider extends IModelLabelProvider { private translateService; private parent; get(options: IModelLabelOptions): Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }