import { BaseCard } from '../shared/base';
/**
 * `card-list` card — a list of nested cards. Each entry in `cardList` is
 * the ID of another DisplayCard resolved from the page's `cards` map.
 *
 * Optionally draggable: when the renderer hosts the list inside a
 * drag-and-drop zone, `dragTargetData` is the payload identifier that
 * downstream drop handlers (e.g. the FormBuilder) use to figure out
 * where new items should land.
 */
export interface CardListCard extends BaseCard<"card-list"> {
    cardType: "card-list";
    /** Ordered list of card IDs the renderer should resolve + render. */
    cardList: string[];
    /** Optional icon (used when this card is inside a tab-list). */
    icon?: string;
    /** Optional asset reference (used when this card is inside a tab-list). */
    imageAsset?: string | {
        id: string;
        url: string;
    };
    /** Enable drag-and-drop reordering of nested cards. */
    draggable?: boolean;
    /** Identifier delivered to drop handlers when items are dragged out. */
    dragTargetData?: string;
    /** Vertical gap between nested cards. */
    gutterY?: string;
    /** Horizontal gap between nested cards. */
    gutterX?: string;
}
export declare const CardListCardDefaults: {
    readonly cardType: "card-list";
    readonly cardList: [];
    readonly showCard: true;
    readonly columns: 12;
    readonly columnsSm: 12;
    readonly columnsMd: 12;
    readonly columnsLg: 12;
    readonly columnsXl: 12;
    readonly draggable: false;
    readonly gutterY: "1rem";
    readonly gutterX: "1rem";
};
export declare const CardListCardMetadata: {
    readonly icon: "th-large";
    readonly displayLabel: "Card List";
    readonly elementCategory: "display";
    readonly description: "A list of nested cards. The default container for grouping cards together.";
};
export declare const CardListCardEditConfig: {
    readonly title: {
        readonly type: "input.text";
        readonly label: "Title";
        readonly columns: 12;
        readonly section: "configuration";
    };
    readonly showCard: {
        readonly type: "boolean.switch";
        readonly defaultValue: true;
        readonly label: "Show Card Chrome";
        readonly columns: 12;
        readonly section: "layout";
    };
    readonly draggable: {
        readonly type: "boolean.switch";
        readonly defaultValue: false;
        readonly label: "Allow Drag & Drop";
        readonly columns: 12;
        readonly section: "configuration";
    };
    readonly dragTargetData: {
        readonly type: "input.text";
        readonly label: "Drag Target Identifier";
        readonly columns: 12;
        readonly section: "configuration";
        readonly conditionParams: [{
            readonly name: "draggable";
            readonly logic: "==";
            readonly value: true;
        }];
    };
    readonly gutterY: {
        readonly type: "input.text";
        readonly label: "Vertical Gap";
        readonly columns: 6;
        readonly section: "layout";
    };
    readonly gutterX: {
        readonly type: "input.text";
        readonly label: "Horizontal Gap";
        readonly columns: 6;
        readonly section: "layout";
    };
};
/**
 * EditConfig variant for a CardListCard nested inside a TabListCard
 * — picks up extra inspector fields (icon, image asset) used by the tab
 * label.
 */
export declare const TabContainerCardListCardEditConfig: {
    readonly icon: {
        readonly type: "picker.icon";
        readonly label: "Tab Icon";
        readonly columns: 6;
        readonly section: "configuration";
    };
    readonly imageAsset: {
        readonly type: "file.asset-picker";
        readonly label: "Tab Image";
        readonly columns: 6;
        readonly section: "configuration";
    };
    readonly title: {
        readonly type: "input.text";
        readonly label: "Title";
        readonly columns: 12;
        readonly section: "configuration";
    };
    readonly showCard: {
        readonly type: "boolean.switch";
        readonly defaultValue: true;
        readonly label: "Show Card Chrome";
        readonly columns: 12;
        readonly section: "layout";
    };
    readonly draggable: {
        readonly type: "boolean.switch";
        readonly defaultValue: false;
        readonly label: "Allow Drag & Drop";
        readonly columns: 12;
        readonly section: "configuration";
    };
    readonly dragTargetData: {
        readonly type: "input.text";
        readonly label: "Drag Target Identifier";
        readonly columns: 12;
        readonly section: "configuration";
        readonly conditionParams: [{
            readonly name: "draggable";
            readonly logic: "==";
            readonly value: true;
        }];
    };
    readonly gutterY: {
        readonly type: "input.text";
        readonly label: "Vertical Gap";
        readonly columns: 6;
        readonly section: "layout";
    };
    readonly gutterX: {
        readonly type: "input.text";
        readonly label: "Horizontal Gap";
        readonly columns: 6;
        readonly section: "layout";
    };
};
//# sourceMappingURL=CardListCard.d.ts.map