import { CustomElement } from '../../Abstracts/CustomElement.js';
import { IFlowBoardColumnItemElementProps } from './IFlowBoardColumnItemElementProps.js';
declare const FlowBoardColumnItemElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable.js").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Slottable.js").ISlottableProps & import("../../../Behaviors/Slottable.js").ISlottable) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Focusable.js").IFocusableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable.js").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable.js").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Valueable.js").IValueableProps<unknown>) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Appearanceable.js").IAppearanceableProps) & typeof CustomElement & import("../../../Behaviors/Themeable.js").IThemeableCtor;
/**
 * FlowBoardColumnItem - An item within a FlowBoard column.
 *
 * Represents a draggable/reorderable item in a FlowBoard column.
 * Supports pinning, activation events, and custom slot content.
 *
 * @name FlowBoardColumnItemElement
 * @element mosaik-flow-board-column-item
 * @category Layouts
 *
 * @slot title - The title content of the item
 * @slot subtitle - The subtitle content of the item
 * @slot actions - Action buttons or links related to the item
 * @slot meta - Additional metadata like price or status
 * @slot footer - Footer content with actions or avatars
 *
 * @csspart container - The main container element
 * @csspart header - The header section containing title and subtitle
 * @csspart titleGroup - The wrapper around title and subtitle for layout purposes
 * @csspart title - The title section
 * @csspart subtitle - The subtitle section
 * @csspart meta - The meta information section
 * @csspart footer - The footer section
 *
 * @cssprop {Color} --flow-board-item-background-color - Background color of the item
 * @cssprop {String} --flow-board-item-border-radius - Border radius of the item
 * @cssprop {String} --flow-board-item-padding - Internal padding
 * @cssprop {String} --flow-board-item-gap - Gap between sections
 *
 * @fires flowBoardBeforeItemActivate {FlowBoardBeforeItemActivateEvent} - Fired before item activation
 * @fires flowBoardItemActivate {FlowBoardItemActivateEvent} - Fired when item is activated
 * @fires flowBoardBeforeItemPinChange {FlowBoardBeforeItemPinChangeEvent} - Fired before pin state changes
 * @fires flowBoardItemPinChange {FlowBoardItemPinChangeEvent} - Fired when pin state changes
 *
 * @dependency {FocusRingElement} - Keyboard focus indicator component
 * @dependency {RippleElement} - Click/tap ripple effect component
 *
 * @example
 * ```html
 * <mosaik-flow-board-column-item item-key="task-1" draggable reorderable>
 *   <div slot="title">Task Title</div>
 *   <div slot="subtitle">Project Name</div>
 *   <div slot="meta"><mosaik-badge>High</mosaik-badge></div>
 *   <div slot="footer"><mosaik-avatar size="xs"></mosaik-avatar></div>
 * </mosaik-flow-board-column-item>
 * ```
 *
 * @public
 */
export declare class FlowBoardColumnItemElement extends FlowBoardColumnItemElement_base implements IFlowBoardColumnItemElementProps {
    private _itemKey;
    private _isDraggable;
    private _reorderable;
    private _pinned;
    private readonly _flowBoardBeforeItemActivate;
    private readonly _flowBoardItemActivate;
    private readonly _flowBoardBeforeItemPinChange;
    private readonly _flowBoardItemPinChange;
    private readonly _slotController;
    private readonly _inheritance;
    /**
     * Constructs a new instance of the `FlowBoardColumnItemElement` class.
     *
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the unique key for the item.
     * If not provided, a key will be generated on connect.
     *
     * @public
     * @attr item-key
     */
    get itemKey(): string;
    set itemKey(value: string);
    /**
     * Gets or sets whether the item can be dragged.
     * This attribute must be present along with `reorderable` for the item to be movable.
     *
     * @public
     * @attr
     */
    get draggable(): boolean;
    set draggable(value: boolean);
    /**
     * Gets or sets whether the item can be reordered.
     *
     * @public
     * @attr
     */
    get reorderable(): boolean;
    set reorderable(value: boolean);
    /**
     * Gets or sets whether the item is pinned (fixed at top of column).
     * Pinned items cannot be dragged and always render before non-pinned items.
     *
     * @public
     * @attr
     */
    get pinned(): boolean;
    set pinned(value: boolean);
    /**
     * Gets the column key from the parent column.
     *
     * @public
     * @readonly
     */
    get columnKey(): string;
    /**
     * Whether the item can currently be dragged.
     * Returns true only if draggable, reorderable, and not pinned.
     *
     * @public
     * @readonly
     */
    get canDrag(): boolean;
    /**
     * @public
     * @override
     */
    connectedCallback(): void;
    /**
     * Activates the item, triggering the appropriate events.
     *
     * @public
     * @param trigger The trigger for the activation.
     */
    activate(trigger: 'click' | 'keyboard'): void;
    /**
     * Pins the item, making it fixed at the top of the column.
     *
     * @public
     */
    pin(): void;
    /**
     * Unpins the item, allowing it to be reordered with other items.
     *
     * @public
     */
    unpin(): void;
    protected onPinnedChanged(_prev: boolean, _next: boolean): void;
}
/**
 * @public
 */
export declare namespace FlowBoardColumnItemElement {
    type Props = IFlowBoardColumnItemElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-flow-board-column-item': FlowBoardColumnItemElement;
    }
}
export {};
//# sourceMappingURL=FlowBoardColumnItemElement.d.ts.map