/**
* Svelte 어댑터. Svelte 3 / 4 / 5 에서 동일하게 동작한다.
*
* `.svelte` 컴포넌트가 아니라 **액션**(`use:`) 으로 제공한다. 컴파일된 Svelte
* 컴포넌트는 메이저 버전 간 런타임 계약이 달라(특히 4 → 5) 배포본 하나로 세
* 버전을 만족시킬 수 없지만, 액션은 순수 함수 계약이라 전부 통과한다.
*
* @example
*
*
*
(html = v), theme: 'dark' }} />
*/
import type { AerizEditorProps, AerizViewerProps } from './shared.js';
/**
* Svelte 액션의 반환 계약. `svelte/action` 의 `ActionReturn` 과 구조적으로
* 같지만, `svelte` 를 import 하지 않기 위해 여기서 직접 선언한다.
*/
export interface AerizAction
{
update(next: P): void;
destroy(): void;
}
/**
* 에디터를 노드에 마운트하는 액션.
*
* 파라미터가 바뀌면 Svelte 가 `update` 를 호출하고, 컨트롤러가 바뀐 항목만
* 반영한다. `value` 가 에디터 현재 출력과 같으면 본문을 건드리지 않으므로
* `onChange` 로 받은 값을 그대로 되돌려줘도 캐럿이 튀지 않는다.
*/
export declare function aerizEditor(node: HTMLElement, props?: AerizEditorProps): AerizAction;
/** 읽기 전용 뷰어를 노드에 마운트하는 액션. */
export declare function aerizViewer(node: HTMLElement, props?: AerizViewerProps): AerizAction;
export type { AerizEditorProps, AerizViewerProps } from './shared.js';
export { createEditorController, createViewerController } from './shared.js';
//# sourceMappingURL=svelte.d.ts.map