import { Signal, TemplateRef } from "@angular/core"; import { SdFormControl } from "../../ui/form/sd-form.control"; import { DateTime } from "@simplysm/sd-core-common"; import { ISdModal } from "../../ui/overlay/modal/sd-modal.provider"; import * as i0 from "@angular/core"; export declare class SdDataDetailControl { parent: AbsSdDataDetail; formCtrl: Signal; toolTplRef: Signal | undefined>; prevTplRef: Signal | undefined>; contentTplRef: Signal>; nextTplRef: Signal | undefined>; modalActionTplRef: Signal | undefined>; constructor(); onRefreshButtonClick(): Promise; onDeleteButtonClick(): Promise; onRestoreButtonClick(): Promise; onSubmitButtonClick(): void; onSubmit(): Promise; protected readonly tablerDeviceFloppy = ""; protected readonly tablerRefresh = ""; protected readonly tablerRestore = ""; protected readonly tablerEraser = ""; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare abstract class AbsSdDataDetail implements ISdModal { abstract canUse: Signal; abstract canEdit: Signal; canDelete?: Signal; prepareRefreshEffect?(): void; abstract load(): Promise<{ data: T; info: ISdDataDetailDataInfo; }> | { data: T; info: ISdDataDetailDataInfo; }; toggleDelete?(del: boolean): Promise | R | undefined; submit?(data: T): Promise | R | undefined; private readonly __sdToast; private readonly __sdSharedData; 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; actionTplRef?: TemplateRef; data: import("../../core/utils/bindings/$signal").SdWritableSignal; dataInfo: import("../../core/utils/bindings/$signal").SdWritableSignal; constructor(); checkIgnoreChanges(): boolean; doRefresh(): Promise; refresh(): Promise; doToggleDelete(del: boolean): Promise; doSubmit(opt?: { permCheck?: boolean; hideNoChangeMessage?: boolean; }): Promise; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, {}, { "close": "close"; }, never, never, true, never>; } export interface ISdDataDetailDataInfo { isNew: boolean; isDeleted: boolean; lastModifiedAt: DateTime | undefined; lastModifiedBy: string | undefined; }