import { CustomElement } from '../../Abstracts/CustomElement'; import { IFlowBoardColumnComposerElementProps } from './IFlowBoardColumnComposerElementProps'; declare const FlowBoardColumnComposerElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Slottable").ISlottableProps & import("../../../Behaviors/Slottable").ISlottable) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * FlowBoardColumnComposer - A composer for creating new columns in a FlowBoard. * * @description * Provides a trigger+form pattern for adding new columns to a board. * This component is completely data-agnostic - it accepts any data structure. * The user provides their own form fields via the `form` slot. * Intended for use in the `slot="append"` of the FlowBoard. * * @remarks * The composer emits generic `create` events with user-defined data: * - Element properties (title, columnKey, pinned, reorderable, etc.) * - Metadata (ownerId, tags, status, limits, custom fields, etc.) * - Any other data the application needs * * @name FlowBoardColumnComposerElement * @element mosaik-flow-board-column-composer * @category Layouts * * @slot trigger - The trigger element that opens the form (e.g., "Add another list" button) * @slot form - The form content for creating new columns (completely user-defined) * * @csspart container - The main container element * @csspart trigger - The trigger section wrapper * @csspart form - The form section wrapper * * @cssprop {String} --flow-board-composer-min-width - Minimum width of the composer area * @cssprop {String} --flow-board-composer-padding - Padding inside the container * @cssprop {String} --flow-board-composer-gap - Gap between form elements * * @fires flowBoardBeforeColumnCreate {FlowBoardBeforeColumnCreateEvent} - Fired before column creation (cancelable) * @fires flowBoardColumnCreate {FlowBoardColumnCreateEvent} - Fired when column is created with user-defined data * * @example * Basic usage with simple form: * ```html * * *
* * *
*
* * * ``` * * @public */ export declare class FlowBoardColumnComposerElement extends FlowBoardColumnComposerElement_base implements IFlowBoardColumnComposerElementProps { private readonly _composerController; private readonly _flowBoardBeforeColumnCreate; private readonly _flowBoardColumnCreate; /** * Constructs a new instance of the `FlowBoardColumnComposerElement` class. * * @public */ constructor(); /** * Returns the `is` property. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets whether the composer form is open. * * @public * @attr */ get open(): boolean; set open(value: boolean); /** * Creates a new column with the provided data. * Emits flowBoardBeforeColumnCreate (cancelable) and flowBoardColumnCreate events. * * @param data The data for the new column (completely user-defined) * @returns True if created, false if canceled * * @public */ create(data: unknown): boolean; /** * Toggles the composer between open and closed state. * * @public */ toggle(): void; /** * Closes the composer form. * * @public */ close(): void; } /** * @public */ export declare namespace FlowBoardColumnComposerElement { type Props = IFlowBoardColumnComposerElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-flow-board-column-composer': FlowBoardColumnComposerElement; } } export {}; //# sourceMappingURL=FlowBoardColumnComposerElement.d.ts.map