import { StateContext } from '@ngxs/store';
import { TreeNode } from 'primeng/api';
import { Observable } from 'rxjs';
import { SmzCommentsDetails } from '../../../modules/smz-comments/models/comments-details';
import { DbData } from '../../../modules/smz-faqs/models/faqs';
import { CommentsUiActions } from './comments.actions';
import { CommentsService } from './comments.service';
import * as i0 from "@angular/core";
export declare const COMMENTS_STATE_NAME = "comments";
export interface CommentsUiStateModel {
    comments: {
        [key: string]: DbData<TreeNode<SmzCommentsDetails>[]>;
    };
}
export declare const getInitialState: () => CommentsUiStateModel;
export declare class CommentsUiState {
    private apiService;
    constructor(apiService: CommentsService);
    onLoadAll$(ctx: StateContext<CommentsUiStateModel>, action: CommentsUiActions.LoadAll): Observable<TreeNode<SmzCommentsDetails>[]>;
    onLoadAllSuccess(ctx: StateContext<CommentsUiStateModel>, action: CommentsUiActions.LoadAllSuccess): void;
    onCreate$(ctx: StateContext<CommentsUiStateModel>, action: CommentsUiActions.Create): Observable<TreeNode<SmzCommentsDetails>[]>;
    onCreateSuccess(ctx: StateContext<CommentsUiStateModel>, action: CommentsUiActions.CreateSuccess): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CommentsUiState, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CommentsUiState>;
}
