import { UmbLitElement } from '../../lit-element/index.js';
import { type PropertyValueMap } from '../../../../external/lit/index.js';
/**
 * Custom element for a split panel with adjustable divider.
 * @element umb-split-panel
 * @slot start - Content for the start panel.
 * @slot end - Content for the end panel.
 * @cssprop --umb-split-panel-initial-position - Initial position of the divider.
 * @cssprop --umb-split-panel-start-min-width - Minimum width of the start panel.
 * @cssprop --umb-split-panel-end-min-width - Minimum width of the end panel.
 * @cssprop --umb-split-panel-divider-touch-area-width - Width of the divider touch area.
 * @cssprop --umb-split-panel-divider-width - Width of the divider.
 * @cssprop --umb-split-panel-divider-color - Color of the divider.
 */
export declare class UmbSplitPanelElement extends UmbLitElement {
    #private;
    mainElement: HTMLElement;
    dividerTouchAreaElement: HTMLElement;
    dividerElement: HTMLElement;
    /**
     * Snap points for the divider position.
     * Pixel or percent space-separated values: e.g., "100px 50% -75% -200px".
     * Negative values are relative to the end of the container.
     */
    snap?: string;
    /**
     * Locking mode for the split panel.
     * Possible values: "start", "end", "none" (default).
     */
    lock: 'start' | 'end' | 'none';
    /**
     * Initial position of the divider.
     * Pixel or percent value: e.g., "100px" or "25%".
     * Defaults to a CSS variable if not set: "var(--umb-split-panel-initial-position) which defaults to 50%".
     */
    position: string;
    private _hasStartPanel;
    private _hasEndPanel;
    disconnectedCallback(): void;
    protected updated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    render(): import("lit-html").TemplateResult<1>;
    static styles: import("lit").CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'umb-split-panel': UmbSplitPanelElement;
    }
}
