import { IEventEmitter } from '@breadstone/mosaik-elements'; import { IAttachmentRejectEventDetail } from '../../../../events'; import { ChatToolBaseElement } from './Abstracts/ChatToolBaseElement'; import { IAttachmentChatToolElementProps } from './IAttachmentChatToolElementProps'; declare const AttachmentChatToolElement_base: (abstract new (...args: Array) => import("../../../../Behaviors/Themeable").IThemeableProps) & typeof ChatToolBaseElement & import("../../../../Behaviors/Themeable").IThemeableCtor; /** * The `AttachmentChatToolElement` element. * * @fires filesPicked {FilesPickedEvent} - Called when a file is picked. * @fires attachmentReject {AttachmentRejectEvent} - Called when an attachment is rejected. * * @example * Basic attachment tool: * ```html * * ``` * * @example * Allow multiple files with a limit: * ```html * * ``` * * @public */ export declare class AttachmentChatToolElement extends AttachmentChatToolElement_base implements IAttachmentChatToolElementProps { private readonly _attachmentRejected; private _multiple; private _accept; private _directory; private _maxFiles; private _maxFileSize; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `multiple` property. * * @public * @attr */ get multiple(): boolean; set multiple(value: boolean); /** * Gets or sets the `accept` property. * * @public */ get accept(): Array; set accept(value: Array); /** * Gets or sets the `directory` property. * * @public * @attr */ get directory(): boolean; set directory(value: boolean); /** * Gets or sets the `maxFiles` property. * * @public * @attr */ get maxFiles(): number; set maxFiles(value: number); /** * Gets or sets the `maxFileSize` property. * * @public * @attr */ get maxFileSize(): number; set maxFileSize(value: number); /** * Called when an attachment is rejected. * Provides reference to `IAttachmentRejectEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get attachmentRejected(): IEventEmitter; /** * @public * @override */ execute(args: FileList | Array): boolean; /** * Emits the `attachmentRejected` event. * * @protected */ protected onAttachmentRejected(args: IAttachmentRejectEventDetail): void; /** * @private */ private validate; } /** * @public */ export declare namespace AttachmentChatToolElement { type Props = IAttachmentChatToolElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-attachment-chat-tool': AttachmentChatToolElement; } } export {}; //# sourceMappingURL=AttachmentChatToolElement.d.ts.map