import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { JournalPostForm, MemberCommunity, File, AddPhoto, PrivacyOption } from '../inspire-library.interface';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class JournalPostComponent implements OnInit, OnDestroy {
    backClick: EventEmitter<any>;
    publishPost: EventEmitter<JournalPostForm>;
    updatePhotoMetaData: EventEmitter<AddPhoto[]>;
    uploadFile: EventEmitter<File[]>;
    myCommunities: MemberCommunity[];
    title: string;
    authorName: string;
    authorAvatar: string;
    photos: File[];
    isMobile: boolean;
    defaultCommunityId: string;
    isPreview: boolean;
    showCommunityList: boolean;
    showPrivacyOption: boolean;
    selectedCommunities: MemberCommunity[];
    journalPostForm: FormGroup;
    privacyOptions: PrivacyOption[];
    privacyStyle: {
        public: string;
        members: string;
        friends: string;
        noOne: string;
    };
    postDate: Date;
    emptyCommunityListText: string;
    maxCommunityToShow: number;
    minCommunityToShowFilter: number;
    allowCommentSubscription: Subscription;
    constructor();
    initForm(): void;
    getDefaultCommunity(): MemberCommunity[];
    ngOnInit(): void;
    tweakMyCommunities(): void;
    onBackClick(): void;
    onPublishPost(): void;
    togglePreview(): void;
    onToggleCommunityList(event?: Event): void;
    setShowCommunityList(value: boolean): void;
    onCommunitySelection(selectedCommunities: MemberCommunity[]): void;
    onTogglePrivacyOption(): void;
    onSelectPrivacyOption(privacyOption: PrivacyOption): void;
    setAttachedMedia(photos: AddPhoto[]): void;
    get selectedPrivacyLabel(): string;
    onUpdateMediaMetaData(photos: AddPhoto[]): void;
    onUpload(files: File[]): void;
    onChangeAllowComment(hasAllowComment: boolean): void;
    ngOnDestroy(): void;
    onRemoveSelectedCommunity(selectedCommunity: MemberCommunity): void;
    static ɵfac: i0.ɵɵFactoryDef<JournalPostComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<JournalPostComponent, "ins-journal-post", never, { "myCommunities": "myCommunities"; "title": "title"; "authorName": "authorName"; "authorAvatar": "authorAvatar"; "photos": "photos"; "isMobile": "isMobile"; "defaultCommunityId": "defaultCommunityId"; }, { "backClick": "backClick"; "publishPost": "publishPost"; "updatePhotoMetaData": "updatePhotoMetaData"; "uploadFile": "uploadFile"; }, never, never>;
}
