import { StyledElement } from '../internals/StyledElement.js';
import { default as React } from 'react';
type ElementParts = 'host' | 'back' | 'heading' | 'title' | 'subtitle' | 'status' | 'actions';
/**
* 페이지 헤더 — 모든 LOB 화면 최상단의 같은 골격.
*
* ★**왜 이것이 라이브러리에 있나**: 이 골격은 화면마다 손으로 다시 짜인다. 손으로 짜면
* ⑴제목 크기가 화면마다 달라지고 ⑵액션 정렬이 미묘하게 어긋나고 ⑶좁은 화면 규칙이
* 빠진다. 셋 다 개별로는 사소해 보이지만, 화면을 옮겨 다니는 사용자에게는 *"제품이
* 하나로 만들어지지 않았다"* 로 읽힌다.
*
* ```html
*
*
*
*
* ```
*
* 오버라이드: `part`(host·back·heading·title·subtitle·status·actions) + slot 치환.
* 값은 전부 토큰을 경유한다 — 리터럴을 두면 소비자가 밀도를 바꿀 수 없다.
*/
export declare class PageHeader extends StyledElement {
static styles: import('lit').CSSResultGroup[];
/** 페이지 제목. 타입 스케일의 `display` 단을 쓴다. */
title: string;
/** 제목 아래 보조 설명. 없으면 렌더하지 않는다. */
subtitle?: string;
/**
* 뒤로가기 링크 주소. 주면 제목 왼쪽에 `← 목록` 형태로 나온다.
* ⚠텍스트는 `backLabel` 또는 locale 레지스트리로 바꾼다.
*/
back?: string;
/**
* 뒤로가기 링크 문구. 비우면 locale 레지스트리 값, 그것도 없으면 **영어**(`Back`).
* ⚠이 패키지는 범용 층이라 특정 언어를 기본값으로 가질 수 없다 —
* 한국어는 `registerLocale('ko', { back: '뒤로' })` 로 소비자가 등록한다.
*/
backLabel: string;
/** 언어 태그. 비우면 `setDefaultLocale()` 값, 그것도 없으면 영어. */
locale: string;
/**
* 슬롯 배정 상태. ★CSS 로는 알 수 없다 — `` 자신이 자식이라 `:has(*)` 가
* 항상 참이다(실브라우저로 확인). 빈 배지 자리가 남으면 제목 위치가 화면마다 달라진다.
*/
private hasStatus;
private hasActions;
render(): import('lit-html').TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'u-page-header': PageHeader;
}
}
declare module 'react' {
namespace JSX {
interface IntrinsicElements {
'u-page-header': React.DetailedHTMLProps, HTMLElement> & {
title?: string;
subtitle?: string;
back?: string;
'back-label'?: string;
locale?: string;
};
}
}
}
export {};