/**
 * SyntroDrawer — Lit web component equivalent of the drawer panel from
 * ShadowCanvasOverlay.tsx.
 *
 * Renders the slide-in/out side panel with:
 * - CSS transform (translateX) + opacity transition
 * - Configurable position (left/right), width, blur, border, border-radius
 * - Tile cards (standard: stacked, focused: single full-width)
 * - Loading and error states
 * - Optional canvas title header (focused mode)
 * - Push-mode margin on document.documentElement
 * - ResizeObserver to keep push margin in sync
 * - Outside-click-to-close via document mousedown + composedPath()
 * - Configurable transition duration / easing from theme config
 * - Mask-image fade at leading edge (disabled when border is visible)
 *
 * Decorator-free: uses static `properties` (tsconfig has no experimentalDecorators).
 *
 * Usage:
 *   <syntro-drawer
 *     .isOpen=${true}
 *     .tiles=${tiles}
 *     .isLoading=${false}
 *     .error=${undefined}
 *     .canvasTitle=${'My Canvas'}
 *     .displayMode=${'standard'}
 *     .runtimeRef=${runtime}
 *     .telemetry=${telemetry}
 *     .themeConfig=${themeConfig}
 *     @drawer-close=${handleClose}
 *   ></syntro-drawer>
 */
import { LitElement } from 'lit';
import type { SmartCanvasRuntime } from '../runtime.js';
import type { TelemetryClient } from '../telemetry/types.js';
import type { TileConfig } from '../types.js';
import './SyntroTileStack.js';
export interface DrawerThemeConfig {
    canvas: {
        position?: string;
        width?: string;
        layout?: string;
        blur?: string;
        border?: string;
        transitionDuration?: string;
        transitionEasing?: string;
        transitionFade?: string;
    };
}
export declare class SyntroDrawer extends LitElement {
    static properties: {
        isOpen: {
            type: BooleanConstructor;
        };
        tiles: {
            attribute: boolean;
        };
        isLoading: {
            type: BooleanConstructor;
        };
        error: {
            type: StringConstructor;
        };
        canvasTitle: {
            type: StringConstructor;
        };
        displayMode: {
            type: StringConstructor;
        };
        runtimeRef: {
            attribute: boolean;
        };
        telemetry: {
            attribute: boolean;
        };
        themeConfig: {
            attribute: boolean;
        };
    };
    isOpen: boolean;
    tiles: TileConfig[];
    isLoading: boolean;
    error: string | undefined;
    canvasTitle: string | undefined;
    displayMode: 'standard' | 'focused';
    runtimeRef: SmartCanvasRuntime | null;
    telemetry: TelemetryClient | null;
    themeConfig: DrawerThemeConfig;
    private _containerEl;
    private _resizeObserver;
    private _onDocumentMousedown;
    createRenderRoot(): this;
    private get _canvas();
    private get _isRight();
    private get _isPush();
    private get _isFocused();
    private get _canvasBorder();
    private get _duration();
    private get _easing();
    connectedCallback(): void;
    updated(changed: Map<string, unknown>): void;
    disconnectedCallback(): void;
    private _teardownResizeObserver;
    private _cleanupPushMargin;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'syntro-drawer': SyntroDrawer;
    }
}
