UNPKG

@trixwell/ngx-parl

Version:

Highly customizable Angular Material chat component

81 lines (74 loc) 3.38 kB
import * as _angular_core from '@angular/core'; import { TranslocoService } from '@ngneat/transloco'; import { HttpClient } from '@angular/common/http'; declare class ChatMessage { id: number; chat_id: number; cr_time: string; type: ChatMessageType; user: string; content: string; avatar: string | null; file_path: string[] | null; checked: boolean | null; edit: boolean; constructor(data: ChatMessageDTO); get dateSimple(): string; get timeHHmm(): string; } interface ChatMessageDTO { id: number; chat_id: number; cr_time: string; type: ChatMessageType; user: string; content: string; avatar?: string | null; file_path?: string[] | null; checked?: boolean | null; } type ChatMessageType = 'incoming' | 'outgoing'; declare class UtilsService { protected http: HttpClient; constructor(http: HttpClient); langToLocale(lang: string): string; getLocalISODate(): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration<UtilsService, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration<UtilsService>; } declare enum FlowTheme { PRIMARY = "primary", SECONDARY = "secondary" } declare class NgxParlComponent { private utils; private transloco; ai_run_in_progress: boolean; private lastUpdateKey; theme: _angular_core.InputSignal<FlowTheme>; header: _angular_core.InputSignal<boolean>; language: _angular_core.InputSignal<"uk" | "en">; messageList: _angular_core.ModelSignal<ChatMessage[]>; messageUpdate: _angular_core.ModelSignal<ChatMessage | undefined>; selectedForEdit: _angular_core.ModelSignal<ChatMessage | null>; incomingUser: _angular_core.Signal<string>; hideHandler: _angular_core.InputSignal<(() => unknown) | null>; closeHandler: _angular_core.InputSignal<(() => unknown) | null>; constructor(utils: UtilsService, transloco: TranslocoService); onCancelEdit(messageId: number | null): this; sendMessage(event: string | { id: number; content: string; files?: string[]; } | { content: string; files?: string[]; } | undefined): this; onHideClick(): this; onCloseClick(): this; protected readonly FlowTheme: typeof FlowTheme; static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxParlComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxParlComponent, "ngx-parl", never, { "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "messageList": { "alias": "messageList"; "required": false; "isSignal": true; }; "messageUpdate": { "alias": "messageUpdate"; "required": false; "isSignal": true; }; "selectedForEdit": { "alias": "selectedForEdit"; "required": false; "isSignal": true; }; "hideHandler": { "alias": "hideHandler"; "required": false; "isSignal": true; }; "closeHandler": { "alias": "closeHandler"; "required": false; "isSignal": true; }; }, { "messageList": "messageListChange"; "messageUpdate": "messageUpdateChange"; "selectedForEdit": "selectedForEditChange"; }, never, never, true, never>; } declare function provideNgxParl(): _angular_core.EnvironmentProviders[]; export { NgxParlComponent, provideNgxParl };