import { InputSignal, Signal, TemplateRef } from "@angular/core"; import { TArrayDiffs2Result } from "@simplysm/sd-core-common"; import { SdFormControl } from "../../ui/form/sd-form.control"; import { ISdSortingDef } from "../../core/utils/managers/SdSortingManager"; import { SdDataSheetColumnDirective } from "./sd-data-sheet-column.directive"; import { ISdSelectModal, ISelectModalOutputResult } from "./sd-data-select-button.control"; import * as i0 from "@angular/core"; export declare class SdDataSheetControl { parent: AbsSdDataSheet; formCtrl: Signal; insertText: InputSignal; deleteText: InputSignal; restoreText: InputSignal; deleteIcon: InputSignal; restoreIcon: InputSignal; pageTopbarTplRef: Signal | undefined>; prevTplRef: Signal | undefined>; filterTplRef: Signal | undefined>; beforeToolTplRef: Signal | undefined>; toolTplRef: Signal | undefined>; modalBottomTplRef: Signal | undefined>; columnControls: Signal[]>; modalActionTplRef: Signal | undefined>; constructor(); onFilterSubmit(): void; onRefreshButtonClick(): void; onCreateItemButtonClick(): Promise; onEditItemButtonClick(item: any, index: number, event: MouseEvent): Promise; onToggleDeleteItemsButtonClick(del: boolean): Promise; onToggleDeleteItemButtonClick(item: any): void; onSubmitButtonClick(): void; onSubmit(): Promise; onAddItemButtonClick(): Promise; onDownloadExcelButtonClick(): Promise; onUploadExcelButtonClick(): Promise; onConfirmButtonClick(): void; onCancelButtonClick(): void; protected readonly tablerRefresh = ""; protected readonly tablerDeviceFloppy = ""; protected readonly tablerSearch = ""; protected readonly tablerCirclePlus = ""; protected readonly tablerUpload = ""; protected readonly tablerFileExcel = ""; protected readonly tablerEdit = ""; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare abstract class AbsSdDataSheet, TItem, TKey extends string | number | undefined> implements ISdSelectModal { abstract canUse: Signal; abstract canEdit: Signal; hideTool?: Signal; abstract editMode: "inline" | "modal" | undefined; abstract selectMode: InputSignal<"single" | "multi" | undefined>; diffsExcludes?: string[]; abstract bindFilter(): TFilter; abstract itemPropInfo: ISdDataSheetItemPropInfo; abstract getItemInfoFn: (item: TItem) => ISdDataSheetItemInfo; prepareRefreshEffect?(): void; abstract search(usePagination: boolean): Promise> | ISdDataSheetSearchResult; editItem?(item?: TItem): Promise | boolean | undefined; toggleDeleteItems?(del: boolean): Promise; newItem?(): Promise | TItem; submit?(diffs: TArrayDiffs2Result[]): Promise | boolean; downloadExcel?(items: TItem[]): Promise | void; uploadExcel?(file: File): Promise | void; private readonly __sdToast; private readonly __sdSharedData; private readonly __sdFileDialog; key: string | undefined; viewType: Signal; busyCount: import("../../core/utils/bindings/$signal").SdWritableSignal; busyMessage: import("../../core/utils/bindings/$signal").SdWritableSignal; initialized: import("../../core/utils/bindings/$signal").SdWritableSignal; close: import("@angular/core").OutputEmitterRef>; submitted: import("@angular/core").OutputEmitterRef; selectedItemKeys: import("@angular/core").ModelSignal; actionTplRef?: TemplateRef; autoSelect: Signal<"click" | undefined>; items: import("../../core/utils/bindings/$signal").SdWritableSignal; summaryData: import("../../core/utils/bindings/$signal").SdWritableSignal>; selectedItems: import("../../core/utils/bindings/$signal").SdWritableSignal; trackByFn: (item: TItem) => TKey | TItem; page: import("../../core/utils/bindings/$signal").SdWritableSignal; pageLength: import("../../core/utils/bindings/$signal").SdWritableSignal; sortingDefs: import("../../core/utils/bindings/$signal").SdWritableSignal; filter: import("../../core/utils/bindings/$signal").SdWritableSignal; lastFilter: import("../../core/utils/bindings/$signal").SdWritableSignal; constructor(); checkIgnoreChanges(): boolean; doFilterSubmit(): void; doRefresh(): void; refresh(): Promise; doEditItem(item?: TItem): Promise; doAddItem(): Promise; doSubmit(opt?: { permCheck?: boolean; hideNoChangeMessage?: boolean; }): Promise; private _getDiffs; isSelectedItemsHasDeleted: Signal; isSelectedItemsHasNotDeleted: Signal; getItemCellStyleFn: (item: TItem) => string | undefined; getItemSelectableFn: (item: TItem) => boolean; doToggleDeleteItems(del: boolean): Promise; doToggleDeleteItem(item: TItem): void; doDownloadExcel(): Promise; doUploadExcel(): Promise; doModalConfirm(): void; doModalCancel(): void; private _getOrmDataEditToastErrorMessage; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "selectedItemKeys": { "alias": "selectedItemKeys"; "required": false; "isSignal": true; }; }, { "close": "close"; "submitted": "submitted"; "selectedItemKeys": "selectedItemKeysChange"; }, never, never, true, never>; } export interface ISdDataSheetItemPropInfo { isDeleted: (keyof I & string) | undefined; lastModifiedAt: (keyof I & string) | undefined; lastModifiedBy: (keyof I & string) | undefined; } export interface ISdDataSheetItemInfo { key: K; canSelect: boolean; canEdit: boolean; canDelete: boolean; } export interface ISdDataSheetSearchResult { items: I[]; pageLength?: number; summary?: Partial; }