import { ComponentOptionsMixin } from 'vue';
import { ComponentProvideOptions } from 'vue';
import { DefineComponent } from 'vue';
import { PublicProps } from 'vue';

declare const __VLS_component: DefineComponent<EmptyStateProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<EmptyStateProps> & Readonly<{}>, {
image: {
alt?: string;
src: string;
};
title: string;
text: string;
vignette: VignetteNames;
subtitle: string;
footnote: string;
vignetteSize: number;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;

declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<EmptyStateSlots> & EmptyStateSlots;
    refs: {};
    rootEl: HTMLDivElement;
};

declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;

declare type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};

declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;

declare interface EmptyStateProps {
    /**
     * @deprecated Use illustration instead.
     */
    image?: {
        alt?: string;
        src: string;
    };
    /**
     * @deprecated Use title instead.
     */
    text?: string;
    /**
     * the title text of the empty state
     */
    title?: string;
    /**
     * the subtitle text of the empty state
     */
    subtitle?: string;
    /**
     * additional text to place at the bottom of the empty state
     */
    footnote?: string;
    /**
     * The name of the vignette illustration to render
     */
    vignette?: VignetteNames;
    /**
     * The size in pixels of the vignette illustration. Defaults to 300.
     */
    vignetteSize?: number;
}

declare interface EmptyStateSlots {
    title?: () => unknown;
    subtitle?: () => unknown;
    footnote?: () => unknown;
    button?: () => unknown;
    image?: () => unknown;
}

declare enum VignetteName {
    Api = "api",
    Bank = "bank",
    Basket = "basket",
    BrandMenu = "brand-menu",
    Calendar = "calendar",
    Dashboard = "dashboard",
    Deals = "deals",
    DocumentSearch = "document-search",
    Edit = "edit",
    EmptyTray = "empty-tray",
    Graph = "graph",
    Integrations = "integrations",
    LightBulb = "light-bulb",
    Map = "map",
    Megaphone = "megaphone",
    Messages = "messages",
    MoneyBank = "money-bank",
    NoFiltersResult = "no-filters-result",
    Notifications = "notifications",
    OrdersEmpty = "orders-empty",
    Payments = "payments",
    PieChart = "pie-chart",
    ProductCards = "product-cards",
    ProductDetails = "product-details",
    ProductDisplay = "product-display",
    Search = "search",
    SearchStorefront = "search-storefront",
    Store = "store",
    Todo = "todo",
    Truck = "truck",
    Users = "users",
    Warehouse = "warehouse",
    WarehouseDelivery = "warehouse-delivery"
}

declare type VignetteNames = `${VignetteName}`;

export { }
