import { Comment } from '../API';
import { CRUDService, ICrudService } from '../core';
export declare class CommentService extends CRUDService<Comment> {
    protected hasOneModels: ICrudService<Comment>['hasOneModels'];
    get create(): (input: Partial<Record<never, import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<Comment>, import("../../..").ModelWithId>> & Omit<import("../API").CreateComment, import("../core").HasOneRelationsOf<Comment>>, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateCommentOneMutation, import("../API").Exact<{
        input: import("../API").CreateComment;
    }>>>) => Promise<{
        __typename?: "Comment";
        id: string;
        displayValue: import("../API").CommentVisibility;
        description: string;
        commentAuthorID?: string;
        organizationID: string;
        postID: string;
        created_at: any;
        updated_at: any;
    }>;
    get useCreate(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateCommentOneMutation, import("../API").Exact<{
        input: import("../API").CreateComment;
    }>>>>) => [(payload: import("../core").InputAndRelations<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateCommentOneMutation, import("../API").Exact<{
        input: import("../API").CreateComment;
    }>>, Comment>) => Promise<{
        __typename?: "Comment";
        id: string;
        displayValue: import("../API").CommentVisibility;
        description: string;
        commentAuthorID?: string;
        organizationID: string;
        postID: string;
        created_at: any;
        updated_at: any;
    }>, import("@apollo/client").MutationResult<any>];
    get update(): (input: Partial<Record<never, import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<Comment>, import("../../..").ModelWithId>> & Omit<import("../API").UpdateComment, import("../core").HasOneRelationsOf<Comment>> & {
        id: string;
    }, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOneCommentMutation, import("../API").Exact<{
        input: import("../API").UpdateOneCommentInput;
    }>>>) => Promise<{
        __typename?: "Comment";
        id: string;
        displayValue: import("../API").CommentVisibility;
        description: string;
        commentAuthorID?: string;
        organizationID: string;
        postID: string;
        created_at: any;
        updated_at: any;
    }>;
    get useUpdate(): (mainOptions?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOneCommentMutation, import("../API").Exact<{
        input: import("../API").UpdateOneCommentInput;
    }>>>>) => [({ id, ...input }: Partial<Record<never, import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<Comment>, import("../../..").ModelWithId>> & import("../API").UpdateComment & {
        id: string;
    }, options?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOneCommentMutation, import("../API").Exact<{
        input: import("../API").UpdateOneCommentInput;
    }>>>>) => Promise<any>, import("@apollo/client").MutationResult<any>];
    get delete(): (id: string, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CommentDeleteOneMutation, import("../API").Exact<{
        input: import("../API").DeleteOneCommentInput;
    }>>>) => Promise<{
        __typename?: "CommentDeleteResponse";
        id?: string;
    }>;
    get useDelete(): (options?: import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CommentDeleteOneMutation, import("../API").Exact<{
        input: import("../API").DeleteOneCommentInput;
    }>>>) => [(id?: string) => Promise<{
        __typename?: "CommentDeleteResponse";
        id?: string;
    }>, import("@apollo/client").MutationResult<import("../API").CommentDeleteOneMutation>];
    get list(): (input: import("../API").Exact<{
        filter?: import("../API").CommentFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").CommentSort | import("../API").CommentSort[];
    }>, options?: import("../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CommentsListQuery, import("../API").Exact<{
        filter?: import("../API").CommentFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").CommentSort | import("../API").CommentSort[];
    }>>>) => Promise<{
        __typename?: "CommentConnection";
        totalCount: number;
        edges: {
            __typename?: "CommentEdge";
            node: {
                __typename?: "Comment";
                id: string;
                displayValue: import("../API").CommentVisibility;
                description: string;
                commentAuthorID?: string;
                organizationID: string;
                postID: string;
                created_at: any;
                updated_at: any;
                author?: {
                    __typename?: "CommentAuthor";
                    id: string;
                    adminID?: string;
                    userID?: string;
                    admin?: {
                        __typename?: "Admin";
                        id: string;
                        firstName?: string;
                        lastName?: string;
                        email: string;
                        avatar?: string;
                    };
                    user?: {
                        __typename?: "User";
                        id: string;
                        firstName?: string;
                        lastName?: string;
                        email?: string;
                        fullName?: string;
                        accounts?: {
                            __typename?: "Account";
                            id: string;
                            displayName?: string;
                        }[];
                    };
                };
            };
        }[];
        pageInfo: {
            __typename?: "PageInfo";
            endCursor?: any;
            startCursor?: any;
            hasNextPage?: boolean;
            hasPreviousPage?: boolean;
        };
    }>;
    get useList(): (options: import("../core").CacheUpdateOptions<import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CommentsListQuery, import("../API").Exact<{
        filter?: import("../API").CommentFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").CommentSort | import("../API").CommentSort[];
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").CommentsListQuery, import("../API").Exact<{
            filter?: import("../API").CommentFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").CommentSort | import("../API").CommentSort[];
        }>>;
        data: import("../API").CommentsListQuery;
        previousData?: import("../API").CommentsListQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            filter?: import("../API").CommentFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").CommentSort | import("../API").CommentSort[];
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").CommentsListQuery, TSubscriptionVariables = import("../API").Exact<{
            filter?: import("../API").CommentFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").CommentSort | import("../API").CommentSort[];
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").CommentsListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            filter?: import("../API").CommentFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").CommentSort | import("../API").CommentSort[];
        }>>(mapFn: (previousQueryResult: import("../API").CommentsListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").CommentsListQuery>, "variables">) => import("../API").CommentsListQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter?: import("../API").CommentFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").CommentSort | import("../API").CommentSort[];
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").CommentsListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter?: import("../API").CommentFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").CommentSort | import("../API").CommentSort[];
        }>, import("../API").CommentsListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").CommentsListQuery>>;
        fetchMore: <TFetchData = import("../API").CommentsListQuery, TFetchVars = import("../API").Exact<{
            filter?: import("../API").CommentFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").CommentSort | import("../API").CommentSort[];
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").CommentsListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").CommentsListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get useLazyList(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceLazyQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CommentsListQuery, import("../API").Exact<{
        filter?: import("../API").CommentFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").CommentSort | import("../API").CommentSort[];
    }>>>>) => import("@apollo/client").LazyQueryResultTuple<import("../API").CommentsListQuery, import("../API").Exact<{
        filter?: import("../API").CommentFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").CommentSort | import("../API").CommentSort[];
    }>>;
}
