import { ISdPermission } from "../../core/providers/app/sd-app-structure.provider";
import * as i0 from "@angular/core";
/**
* 권한 테이블 컴포넌트
*
* 권한 설정을 위한 테이블 형태의 UI를 제공하는 컴포넌트입니다.
* 계층형 구조의 권한을 표시하고 관리할 수 있습니다.
*
* - 계층형 구조로 권한 항목들을 표시합니다
* - 각 권한 항목에 대해 체크박스로 권한 부여/해제가 가능합니다
* - 상위 권한 체크시 하위 권한들도 자동으로 체크됩니다
* - 접기/펼치기 기능으로 하위 권한 목록을 관리할 수 있습니다
*
* ```html
*
* ```
*/
export declare class SdPermissionTableControl {
value: import("@angular/core").ModelSignal>;
items: import("@angular/core").InputSignal[]>;
disabled: import("@angular/core").InputSignalWithTransform;
collapsedItems: import("../../core/utils/bindings/$signal").SdWritableSignal>>;
depthLength: import("@angular/core").Signal;
arr(len: number): number[];
getIsPermCollapsed(item: ISdPermission): boolean;
getAllChildren(item: ISdPermission): ISdPermission[];
getEditDisabled(item: ISdPermission): boolean;
getIsPermExists(item: ISdPermission, type: "use" | "edit"): boolean;
getIsPermChecked(item: ISdPermission, type: "use" | "edit"): boolean;
onPermCollapseToggle(item: ISdPermission): void;
onPermCheckChange(item: ISdPermission, type: "use" | "edit", val: boolean): void;
private _changePermCheck;
private _getDepthLength;
protected readonly itemTemplateType: {
item: ISdPermission;
parentKey: string;
depth: number;
parent: ISdPermission | undefined;
};
protected readonly tablerChevronRight = "";
static ɵfac: i0.ɵɵFactoryDeclaration, never>;
static ɵcmp: i0.ɵɵComponentDeclaration, "sd-permission-table", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
}