import { Comment, CommentLikeTemplateSettings } from "@omnia/fx-models";
import { Store } from "@omnia/fx/stores";
export declare enum CommentDialogModes {
    Add = 0,
    Reply = 1,
    Edit = 2
}
export interface OpenCommentDialogInput {
    blockId: string;
    comment: Comment;
    mode: CommentDialogModes;
    onSave: (comment: Comment) => Promise<void>;
    onCancel?: (comment: Comment) => void;
}
export declare class CommentDialogStore extends Store {
    templateSettingsHash: import("@omnia/fx/stores").StoreState<{
        [blockId: string]: CommentLikeTemplateSettings;
    }>;
    commentDialogTag: string;
    constructor();
    protected onActivated(): void;
    mutations: {
        registerEditorTemplateSettings: import("@omnia/fx/stores").StoreMutation<(blockId: string, templateSettings: CommentLikeTemplateSettings) => void, (blockId: string, templateSettings: CommentLikeTemplateSettings) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        openDialog: import("@omnia/fx/stores").StoreMutation<(input: OpenCommentDialogInput) => void, (input: OpenCommentDialogInput) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        closeDialog: import("@omnia/fx/stores").StoreMutation<() => void, () => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        deleteDraftComment: import("@omnia/fx/stores").StoreMutation<(mode: CommentDialogModes, comment: Comment) => void, (mode: CommentDialogModes, comment: Comment) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
    };
}
