import { type CSSProperties, type HTMLAttributes, type ReactNode } from 'react';
import { type SSplitterUnit } from './splitter.config';
/** 패널은 순수 슬롯이다 — 크기·제약은 전부 루트가 소유한다. */
export type SSplitterPaneProps = HTMLAttributes;
export interface SSplitterProps extends Omit, 'defaultValue'> {
/** 첫 패널 크기. unit 단위. 주면 controlled */
value?: number;
/** 첫 패널 초기 크기. uncontrolled. 기본은 '%' 면 50, 'px' 면 240 */
defaultValue?: number;
/** 크기가 확정될 때. emitImmediately 가 아니면 드래그를 놓는 순간 한 번만 온다 */
onValueChange?: (value: number) => void;
/** 모델·limits 를 읽는 단위 */
unit?: SSplitterUnit;
/** [최소, 최대]. 생략하면 '%' 는 [10, 90], 'px' 는 [50, Infinity] */
limits?: readonly [number, number];
/** 드래그하는 동안에도 onValueChange 를 계속 보낸다 */
emitImmediately?: boolean;
/** true면 패널을 위아래로 쌓는다 (Quasar q-splitter 의 horizontal 에 해당) */
vertical?: boolean;
/** true면 크기를 바꿀 수 없다. 커서도 구분선도 나오지 않는다 */
disabled?: boolean;
/** 구분선에 얹을 클래스 */
dividerClassName?: string;
/** 구분선에 얹을 인라인 스타일 */
dividerStyle?: CSSProperties;
/** SSplitter.Before 와 SSplitter.After 둘 */
children?: ReactNode;
}
export declare const SSplitter: import("react").ForwardRefExoticComponent> & {
Before: import("react").ForwardRefExoticComponent>;
After: import("react").ForwardRefExoticComponent>;
};