import { BaseCard } from '../shared/base';
/**
 * Visual layout variants accepted by `style`.
 *
 * - `default`   — Vertical tab list (tabs on the side).
 * - `horizontal` — Tabs rendered horizontally along the top.
 */
export type TabListCardStyle = "default" | "horizontal";
/**
 * `tab-list` card — a list of tabs. Each entry in `tabList` is the ID of
 * a nested card (typically an ElementListCard or CardListCard) resolved
 * from the page's `cards` map. The nested card's `title`, `icon`, and
 * `imageAsset` are used to label the tab.
 */
export interface TabListCard extends BaseCard<"tab-list"> {
    cardType: "tab-list";
    /** Ordered list of card IDs to render as tab panels. */
    tabList: string[];
    /** Visual variant (vertical or horizontal). */
    style?: TabListCardStyle;
    /** Image displayed alongside the tab nav. */
    imageAsset?: string | {
        id: string;
        url: string;
    };
    /** Icon displayed alongside the tab nav. */
    icon?: string;
    /** Force the nav bar to render above the panel content. */
    navOnTop?: boolean;
    /** Hide the nav bar entirely (used when an external nav controls the tabs). */
    hideNav?: boolean;
    /**
     * ID of an external tab-control element that should drive this tab
     * list. Allows a sibling component to act as the visible nav.
     */
    controlTabId?: string | null;
}
export declare const TabListCardDefaults: {
    readonly cardType: "tab-list";
    readonly tabList: [];
    readonly showCard: true;
    readonly columns: 12;
    readonly columnsSm: 12;
    readonly columnsMd: 12;
    readonly columnsLg: 12;
    readonly columnsXl: 12;
    readonly style: "default";
    readonly navOnTop: false;
    readonly hideNav: false;
    readonly controlTabId: null;
};
export declare const TabListCardMetadata: {
    readonly icon: "folder-closed";
    readonly displayLabel: "Tab List";
    readonly elementCategory: "display";
    readonly description: "A list of tabs that can be used to display and organize display cards.";
};
export declare const TabListCardEditConfig: {
    readonly title: {
        readonly type: "input.text";
        readonly label: "Title";
        readonly columns: 12;
        readonly section: "configuration";
    };
    readonly style: {
        readonly type: "option-select.select";
        readonly label: "Style";
        readonly columns: 12;
        readonly section: "layout";
        readonly selectOptions: readonly [{
            readonly label: "Vertical";
            readonly value: "default";
        }, {
            readonly label: "Horizontal";
            readonly value: "horizontal";
        }];
    };
    readonly navOnTop: {
        readonly type: "boolean.switch";
        readonly label: "Use Top Navigation";
        readonly section: "layout";
        readonly columns: 12;
    };
    readonly hideNav: {
        readonly type: "boolean.switch";
        readonly label: "Hide Navigation Bar";
        readonly section: "layout";
        readonly columns: 12;
    };
    readonly showCard: {
        readonly type: "boolean.switch";
        readonly defaultValue: true;
        readonly label: "Show Card Chrome";
        readonly columns: 12;
        readonly section: "layout";
    };
    readonly imageAsset: {
        readonly type: "file.asset-picker";
        readonly label: "Image Asset";
        readonly columns: 6;
        readonly section: "configuration";
        readonly acceptedFileTypes: readonly [".jpg", ".jpeg", ".png", ".gif", ".svg", ".webp"];
    };
    readonly icon: {
        readonly type: "picker.icon";
        readonly label: "Icon";
        readonly columns: 6;
        readonly section: "configuration";
    };
    readonly controlTabId: {
        readonly type: "option-select.select";
        readonly label: "Control Tab ID (Allow this tab navigation to control this tab list)";
        readonly columns: 12;
        readonly section: "layout";
        readonly selectOptions: readonly [];
    };
};
//# sourceMappingURL=TabListCard.d.ts.map