import { type OutputEmitterRef, type Signal, type TemplateRef, type Type } from "@angular/core"; import type { DirectiveInputSignals, WithOptional } from "../directive-input-signals"; import "@simplysm/core-browser"; import * as i0 from "@angular/core"; /** * 모달 컴포넌트가 구현해야 하는 인터페이스 */ export interface SdModalContentDef { initialized: Signal; close: OutputEmitterRef; actionTplRef?: TemplateRef; readonly _optionalModalInputs?: string; } type SdModalExcludeKeys = "initialized" | "close" | "actionTplRef" | "_optionalModalInputs"; type SdModalOptionalKeys = T extends { _optionalModalInputs?: infer K extends string; } ? K : never; /** * 모달 생성 시 전달하는 정보 */ export interface SdModalInfo, X extends keyof any = ""> { title: string; type: Type; inputs: WithOptional, SdModalExcludeKeys | X>, SdModalOptionalKeys & keyof Omit, SdModalExcludeKeys | X>>; } /** * 모달 옵션 */ export interface SdModalOptions { key?: string; hideHeader?: boolean; hideCloseButton?: boolean; headerStyle?: string; useCloseByBackdrop?: boolean; useCloseByEscapeKey?: boolean; float?: boolean; fill?: boolean; resizable?: boolean; movable?: boolean; position?: "bottom-right" | "top-right"; minHeightPx?: number; minWidthPx?: number; heightPx?: number; widthPx?: number; noFirstControlFocusing?: boolean; } /** * 모달을 프로그래밍 방식으로 생성하는 프로바이더 */ export declare class SdModalProvider { private readonly _appRef; private readonly _envInjector; private readonly _injector; modalCount: import("@angular/core").WritableSignal; showAsync>(modal: SdModalInfo, options?: SdModalOptions): Promise[0] | undefined>; private _assignZIndex; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export {}; //# sourceMappingURL=sd-modal.provider.d.ts.map