import { MessageService, UtilityService } from "@esfaenza/extensions";
import { HTTPService } from "@esfaenza/httpservice";
import { TokenService } from "@esfaenza/core/services";
import { EsModalComponent } from "../es-modal/es-modal.component";
import { MarkdownEditorComponent } from "@esfaenza/text-editors";
import { CreateUpdateFeedDto, EntityFeedsWidgetConfiguration, Feed } from "@esfaenza/core/domain";
import { DropdownOption } from "@esfaenza/utility-components";
import { AppFile } from "@esfaenza/forms-and-validations";
import { Subject } from "rxjs";
import * as i0 from "@angular/core";
export declare class EntityFeedsWidgetComponent {
    private http;
    private utiExts;
    private msgs;
    private tks;
    EntityType: string;
    EntityId: string;
    RefreshSubject: Subject<void>;
    GetFeedsAPI: string;
    CreateFeedAPI: string;
    UpdateFeedAPI: string;
    DeleteFeedAPI: string;
    ReactToFeedAPI: string;
    GetUserTagsAPI: string;
    GetFeedAttachmentAPI: string;
    WidgetTitle: string;
    MaxHeight: string;
    Readonly: boolean;
    AllowUserTags: boolean;
    AllowReactions: boolean;
    AllowAttachments: boolean;
    AllowComments: boolean;
    AllowReplies: boolean;
    DebugMode: boolean;
    ModuleConfig: EntityFeedsWidgetConfiguration;
    FLAG_RefreshingFeeds: boolean;
    Feeds: Feed[];
    LoggedUser: string;
    FeedContentFilter: string;
    UserTags: string[];
    private refreshSub;
    constructor(http: HTTPService, utiExts: UtilityService, msgs: MessageService, tks: TokenService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    doRefreshFeeds(): void;
    onDownloadFeedAttachment(item: Feed): void;
    dlgCreateUpdateFeed: EsModalComponent;
    CreateUpdateFeedDTO: CreateUpdateFeedDto;
    AllegatoFile: AppFile;
    EditMode: boolean;
    editor: MarkdownEditorComponent;
    onCreateFeed(isReply?: boolean): void;
    onUpdateFeed(): void;
    doCreateUpdateFeed(): void;
    onDeleteFeed(): void;
    private doDeleteFeed;
    onReactToFeed(item: Feed, idReaction: string): void;
    private doReactToFeed;
    dlgFeedContentDetails: EsModalComponent;
    FeedContentDetails: string;
    onShowFeedContent(item: string): void;
    SelectedFeed: Feed;
    FeedsOperations: DropdownOption[];
    onSelectFeed(item: Feed): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<EntityFeedsWidgetComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EntityFeedsWidgetComponent, "entity-feeds-widget", never, { "EntityType": { "alias": "EntityType"; "required": false; }; "EntityId": { "alias": "EntityId"; "required": false; }; "RefreshSubject": { "alias": "RefreshSubject"; "required": false; }; "GetFeedsAPI": { "alias": "GetFeedsAPI"; "required": false; }; "CreateFeedAPI": { "alias": "CreateFeedAPI"; "required": false; }; "UpdateFeedAPI": { "alias": "UpdateFeedAPI"; "required": false; }; "DeleteFeedAPI": { "alias": "DeleteFeedAPI"; "required": false; }; "ReactToFeedAPI": { "alias": "ReactToFeedAPI"; "required": false; }; "GetUserTagsAPI": { "alias": "GetUserTagsAPI"; "required": false; }; "GetFeedAttachmentAPI": { "alias": "GetFeedAttachmentAPI"; "required": false; }; "WidgetTitle": { "alias": "WidgetTitle"; "required": false; }; "MaxHeight": { "alias": "MaxHeight"; "required": false; }; "Readonly": { "alias": "Readonly"; "required": false; }; "AllowUserTags": { "alias": "AllowUserTags"; "required": false; }; "AllowReactions": { "alias": "AllowReactions"; "required": false; }; "AllowAttachments": { "alias": "AllowAttachments"; "required": false; }; "AllowComments": { "alias": "AllowComments"; "required": false; }; "AllowReplies": { "alias": "AllowReplies"; "required": false; }; "DebugMode": { "alias": "DebugMode"; "required": false; }; "ModuleConfig": { "alias": "ModuleConfig"; "required": false; }; }, {}, never, never, true, never>;
}
