import { LitElement } from 'lit';
import { ShadowPartsController } from '../../controllers/shadow-parts-controller';
declare global {
    interface HTMLElementTagNameMap {
        "wy-item": WyItem;
        "wy-item-list": WyItemList;
    }
}
/**
 * Item with image, content and actions.
 * May be multi-row and interactive.
 *
 * @slot image - The image in the start of the item. Typically an icon or avatar.
 * @slot content - The full content body. Contains `title`, `meta` and `text`.
 * @slot title - Title of the item. Placed in top row in `content`.
 * @slot meta - Meta text for the item. Placed in the end of the top row in. `content`.
 * @slot text - Secondary text. Placed in the bottom row in `content`.
 * @slot actions - Actions. Typically icons, buttons or dropdowns.
 * @csspart wy-item - The component itself.
 * @csspart wy-item-inner - Inner wrapper for the item.
 * @csspart wy-item-inner-no-padding - Inner wrapper without padding.
 * @csspart wy-item-rounded - When the item wrapper is rounded.
 * @csspart wy-item-rounded-outer - When the item wrapper is using outer roundness.
 * @csspart wy-item-interactive - When the item wrapper is using interactive hover states.
 * @csspart wy-item-sm - When the item wrapper is `sm` size.
 * @csspart wy-item-md - When the item wrapper is `md` size.
 * @csspart wy-item-lg - When the  item wrapper id `lg` size.
 * @csspart wy-item-top - When the item wrapper content has `top` alignment.
 * @csspart wy-item-middle - When the item wrapper content has `middle` alignment.
 * @csspart wy-item-bottom - When the item wrapper content has `bottom` alignment.
 * @csspart wy-read - When the item wrapper has `read` status.
 * @csspart wy-unread - When the item wrapper has `unread` status.
 * @csspart wy-selected - When the item wrapper has `selected` state.
 * @csspart wy-disabled - When the item wrapper has `disabled` state.
 * @csspart wy-item-image - The image content section of the item wrapper. Containing the `image` slot.
 * @csspart wy-item-body - The main content section of the item wrapper. Containing the `content` slot.
 * @csspart wy-item-rows - Row layout wrapper of the item body. Contains 1-2 layout rows.
 * @csspart wy-item-row - Layout row in the row layout wrapper.
 * @csspart wy-item-row-first - The first (top-most) layout row.
 * @csspart wy-item-row-second - Any optional second (bottom-most) layout row.
 * @csspart wy-item-title - The title section of the first layout row. Contains the `title` slot.
 * @csspart wy-item-left - Left aligned sections of a layout row.
 * @csspart wy-item-meta - Meta section in the end of the first layout row. Contains the `meta` slot.
 * @csspart wy-meta - Meta styled content in the meta section.
 * @csspart wy-meta-sm - Smaller meta styled content in the meta section.
 * @csspart wy-item-text - Text content section of the second layout row. Contains the `text` slot.
 * @csspart wy-item-text-sm - More compact styling of the text content section used when size is `auto`.
 * @csspart wy-item-actions - Section for any actions. May be after the item body or in the end of the second layout row. Contains the `actions` slot.
 * @csspart wy-item-actions-bottom - The actions section when placed in the second layout row.
 * @csspart wy-item-actions-top - The actions sections whe align is `top`ot action align is `top`.
 */
export declare class WyItem extends LitElement {
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    /**
     * Size of the item.
     * - `auto` is dynamic height.
     * - `sm` is fixed for 1 line.
     * - `md` is fixed for 1-2 lines.
     * - `lg` is fixed for 2-3 lines.
     */
    size: "auto" | "sm" | "md" | "lg";
    /**
     * How to align the image/content/actions.
     */
    align: "top" | "middle" | "bottom";
    /**
     * How to position the actions.
     * - `end` is in the middle end of the item.
     * - `bottom` is in the end of the bottom line.
     * - `top` is in the top end corner.
     */
    actionsPosition: "end" | "bottom" | "top";
    /**
     * Display the item with roundness.
     */
    rounded: boolean;
    /**
     * Display the item without padding.
     */
    noPadding: boolean;
    /**
     * Display the item using outer roundness, when placed as the outermost component.
     */
    outer: boolean;
    /**
     * Add interactive hover states, for use when the item is clickable.
     */
    interactive: boolean;
    /**
     * Set the item in a selected state.
     */
    selected: boolean;
    /**
     * Set the item in a disabled state and prevent interaction.
     */
    disabled: boolean;
    /**
     * Link URL for the item.
     */
    url: string | undefined;
    /**
     * Display the item in a state indicating that it has been trashed.
     */
    trashed: boolean;
    /**
     * Set the read status of the item.
     */
    status?: "read" | "unread";
    /**
     * Any nodes assigned to the `actions` slot.
     * @internal
     */
    private _slotActions;
    /**
     * Any nodes assigned to the `meta` slot.
     * @internal
     */
    private _slotMeta;
    /**
     * Any nodes assigned to the `text` slot.
     * @internal
     */
    private _slotText;
    /**
     * If it has an url; handles ctrl click event for the item.
     * @param event MouseEvent
     */
    private handleLinkClick;
    render(): import('../../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
}
/**
 * Item list. Provides list layout and styling for items.
 *
 * @slot - Default slot for items.
 * @csspart wy-item-list - Regular item list.
 * @csspart wy-item-list-bordered - Border styling.
 * @csspart wy-item-list-rounded - Rounded styling.
 * @csspart wy-item-list-outer - Using outer rounded styling.
 * @csspart wy-item-list-filled - Using filled background.
 */
export declare class WyItemList extends LitElement {
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    /**
     * Add outer roundness to the list when the component is placed as outermost component.
     */
    outer: boolean;
    /**
     * Add border to the list.
     */
    bordered: boolean;
    /**
     * Add roundness to the list.
     */
    rounded: boolean;
    /**
     * Filled background.
     */
    filled: boolean;
    protected render(): import('../../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
}
//# sourceMappingURL=wy-item.d.ts.map