import { DisplayCard } from '../../../../definitions/cards';
import { CardElement } from '../../../../definitions/elements';
export interface SnippetPreviewBundle {
    card: DisplayCard;
    cards: Record<string, DisplayCard>;
    elements: Record<string, CardElement>;
}
export interface SnippetCanvasBlockProps {
    /** Placement token (`snippet#<key>:<instanceId>`). */
    token: string;
    /** Display label for the snippet. */
    label: string;
    /** Index within the parent container (for drag-reorder + drop targeting). */
    index: number;
    /** Whether this placement is the current selection. */
    selected?: boolean;
    /** Column span (1–4) — the placement's resized width. */
    colSpan?: number;
    /** Resolved read-only render bundle, or null when the definition is missing. */
    preview?: SnippetPreviewBundle | null;
    /** Form-data item passed through to the renderer. */
    item?: Record<string, unknown>;
}
declare const _default: import('vue').DefineComponent<SnippetCanvasBlockProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    select: () => any;
    reorder: (ev: PointerEvent) => any;
    expand: () => any;
    resize: (ev: PointerEvent) => any;
}, string, import('vue').PublicProps, Readonly<SnippetCanvasBlockProps> & Readonly<{
    onSelect?: (() => any) | undefined;
    onReorder?: ((ev: PointerEvent) => any) | undefined;
    onExpand?: (() => any) | undefined;
    onResize?: ((ev: PointerEvent) => any) | undefined;
}>, {
    item: Record<string, unknown>;
    selected: boolean;
    colSpan: number;
    preview: SnippetPreviewBundle | null;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=SnippetCanvasBlock.vue.d.ts.map