import { GecutDirective } from '@gecut/lit-helper/directives/directive.js'; import { type PartInfo } from 'lit/directive.js'; import { nothing } from 'lit/html.js'; import type { IconButtonContent, IconContent } from '../components.js'; import type { EventsObject } from '../internal/events-handler.js'; import type { RenderResult } from '@gecut/types'; import type { ClassInfo } from 'lit/directives/class-map.js'; import type { TemplateResult } from 'lit/html.js'; export interface ItemImageSlotContent { placeholder: string; source: string; } export type HtmlString = string | TemplateResult; export type ItemSlutContent = { element: 'avatar:character'; character: string; } | (ItemImageSlotContent & { element: 'avatar:image'; }) | (ItemImageSlotContent & { element: 'image'; }) | { element: 'template'; template: TemplateResult; } | (IconContent & { element: 'icon'; }) | (IconButtonContent & { element: 'icon-button'; }); export interface ItemContent { headline: HtmlString; overline?: HtmlString; supportingText?: HtmlString; trailingSupportingText?: { type: 'string'; value: string; } | { type: 'number'; value: number | string; maximum: number; }; supportingTextTwoLine?: boolean; href?: string; target?: '_blank' | '_parent' | '_self' | '_top'; events?: EventsObject; disabled?: boolean; divider?: boolean; leading?: ItemSlutContent; trailing?: ItemSlutContent; } export declare class GecutItemDirective extends GecutDirective { constructor(partInfo: PartInfo); protected content?: ItemContent; protected type: 'link' | 'text' | 'button'; render(content?: ItemContent): unknown; protected renderItem(): TemplateResult | typeof nothing; protected renderBody(): typeof nothing | TemplateResult<1>; protected renderSlot(slotName: 'trailing' | 'leading'): RenderResult; protected renderItemTrailingSupportingText(): RenderResult; protected getRenderClasses(): ClassInfo; } export declare const gecutItem: (content?: ItemContent | undefined) => import("lit-html/directive.js").DirectiveResult; //# sourceMappingURL=item.d.ts.map