import { FileInfo } from '@limetech/lime-elements';
import { EventEmitter } from '../../stencil-public-runtime';
import { LimeWebComponentPlatform } from '@limetech/lime-web-components';
import { ComposerTrigger, FileInputConfig } from './composer-toolbar.types';
/**
 * A toolbar for composers, primarily intended to be placed below
 * a `limebb-text-editor` in the Activity Feed.
 *
 * The toolbar provides a consistent layout with built-in trigger buttons
 * for common actions (mentions, text snippets, internal links) and
 * a built-in file input. Consumers can extend the toolbar with custom
 * elements using the `leading` and `trailing` slots, and provide their
 * own submit button via the `primary-action` slot.
 *
 * @slot leading - Place custom elements before the built-in actions.
 * For example, a custom file picker.
 * @slot trailing - Place custom elements after the built-in actions.
 * @slot primary-action - The submit button area. Render a `limel-button`
 * or `limel-split-button` here.
 *
 * @exampleComponent limebb-example-composer-toolbar-basic
 * @exampleComponent limebb-example-composer-toolbar-primary-action
 * @exampleComponent limebb-example-composer-toolbar-file-input
 * @exampleComponent limebb-example-composer-toolbar-full
 * @exampleComponent limebb-example-composer-toolbar-custom-slots
 * @exampleComponent limebb-example-composer-toolbar-with-text-editor
 *
 * @beta
 */
export declare class ComposerToolbar {
    /**
     * @inheritdoc
     */
    platform?: LimeWebComponentPlatform;
    /**
     * When `true`, displays a button that triggers
     * the mention character (`@`) in the text editor.
     */
    mentions: boolean;
    /**
     * When `true`, displays a button that triggers
     * the text snippet character (`!`) in the text editor.
     */
    textSnippets: boolean;
    /**
     * When `true`, displays a button that triggers
     * the internal link character (`#`) in the text editor.
     */
    internalLinks: boolean;
    /**
     * When `true`, displays a button that toggles the visibility
     * of the rich text formatting toolbar in the text editor.
     */
    richText: boolean;
    /**
     * Configuration for the built-in file input button.
     * When provided, an attachment button is rendered.
     * Set to `null` or `undefined` to hide the file input.
     */
    fileInput?: FileInputConfig;
    /**
     * Fired when a built-in trigger button is clicked.
     */
    triggerInsert: EventEmitter<ComposerTrigger>;
    /**
     * Fired when files are selected via the built-in file input.
     */
    filesSelected: EventEmitter<FileInfo[]>;
    render(): any[];
    private get translator();
    private get triggerActions();
    private renderTriggerActions;
    private handleTriggerSelected;
    private renderFileInput;
    private handleFilesSelected;
}
//# sourceMappingURL=composer-toolbar.d.ts.map