import { SurveyResponse } from '../API';
import { CRUDService, ICrudService } from '../core';
export declare class SurveyResponseService extends CRUDService<SurveyResponse> {
    protected hasOneModels: ICrudService<SurveyResponse>['hasOneModels'];
    get create(): (input: Partial<Record<"needs" | "events" | "followUpResponses" | "followUpResponsesModels" | "suggestedTopics", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<SurveyResponse>, import("../../..").ModelWithId>> & Omit<import("../API").CreateSurveyResponse, "needs" | "events" | "followUpResponses" | "followUpResponsesModels" | "suggestedTopics" | import("../core").HasOneRelationsOf<SurveyResponse>>, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SurveyResponseCreateOneMutation, import("../API").Exact<{
        input: import("../API").CreateSurveyResponse;
    }>>>) => Promise<{
        __typename?: "SurveyResponse";
        comment?: string;
        created_at: any;
        externalSurveyResponseID?: string;
        id: string;
        isReviewed?: boolean;
        objectSource?: import("../API").SourceOfData;
        organizationID: string;
        responseDate?: any;
        score?: number;
        sentiment?: import("../API").SentimentTypes;
        surveyID: string;
        updated_at: any;
        followUpResponsesModels?: {
            __typename?: "FollowUpResponse";
            id: string;
            comment: string;
            followUpQuestion: {
                __typename?: "FollowUpQuestion";
                id: string;
                answerOptions?: string[];
                answerType?: string;
                question: string;
                questionType?: import("../API").QuestionType;
                isDefault?: boolean;
                isRequired?: boolean;
                index?: number;
            };
        }[];
        account?: {
            __typename?: "Account";
            id: string;
            vip?: boolean;
            displayName?: string;
            primaryContact?: {
                __typename?: "User";
                fullName?: string;
            };
        };
        user?: {
            __typename?: "User";
            id: string;
            vip?: boolean;
            email?: string;
            firstName?: string;
            lastName?: string;
            fullName?: string;
            accounts?: {
                __typename?: "Account";
                id: string;
                vip?: boolean;
                displayName?: string;
                primaryContact?: {
                    __typename?: "User";
                    fullName?: string;
                };
            }[];
        };
        survey: {
            __typename?: "Survey";
            id: string;
            name: string;
            surveyType?: import("../API").SurveyType;
        };
        needs?: {
            __typename?: "Need";
            id: string;
        }[];
    }>;
    get update(): (input: Partial<Record<"needs" | "events" | "followUpResponses" | "followUpResponsesModels" | "suggestedTopics", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<SurveyResponse>, import("../../..").ModelWithId>> & Omit<import("../API").UpdateSurveyResponse, "needs" | "events" | "followUpResponses" | "followUpResponsesModels" | "suggestedTopics" | import("../core").HasOneRelationsOf<SurveyResponse>> & {
        id: string;
    }, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SurveyResponseUpdateOneMutation, import("../API").Exact<{
        input: import("../API").UpdateOneSurveyResponseInput;
    }>>>) => Promise<{
        __typename?: "SurveyResponse";
        comment?: string;
        created_at: any;
        externalSurveyResponseID?: string;
        id: string;
        isReviewed?: boolean;
        objectSource?: import("../API").SourceOfData;
        organizationID: string;
        responseDate?: any;
        score?: number;
        sentiment?: import("../API").SentimentTypes;
        surveyID: string;
        updated_at: any;
        followUpResponsesModels?: {
            __typename?: "FollowUpResponse";
            id: string;
            comment: string;
            followUpQuestion: {
                __typename?: "FollowUpQuestion";
                id: string;
                answerOptions?: string[];
                answerType?: string;
                question: string;
                questionType?: import("../API").QuestionType;
                isDefault?: boolean;
                isRequired?: boolean;
                index?: number;
            };
        }[];
        account?: {
            __typename?: "Account";
            id: string;
            vip?: boolean;
            displayName?: string;
            primaryContact?: {
                __typename?: "User";
                fullName?: string;
            };
        };
        user?: {
            __typename?: "User";
            id: string;
            vip?: boolean;
            email?: string;
            firstName?: string;
            lastName?: string;
            fullName?: string;
            accounts?: {
                __typename?: "Account";
                id: string;
                vip?: boolean;
                displayName?: string;
                primaryContact?: {
                    __typename?: "User";
                    fullName?: string;
                };
            }[];
        };
        survey: {
            __typename?: "Survey";
            id: string;
            name: string;
            surveyType?: import("../API").SurveyType;
        };
        needs?: {
            __typename?: "Need";
            id: string;
        }[];
    }>;
    get delete(): (id: string, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SurveyResponseDeleteOneMutation, import("../API").Exact<{
        input: import("../API").DeleteOneSurveyResponseInput;
    }>>>) => Promise<{
        __typename?: "SurveyResponseDeleteResponse";
        id?: string;
    }>;
    get get(): (id: string, options?: Omit<import("@apollo/client").QueryOptions<import("../API").Exact<{
        id: string;
    }>, import("../API").SurveyResponseGetQuery>, "query">) => Promise<{
        __typename?: "SurveyResponse";
        comment?: string;
        created_at: any;
        externalSurveyResponseID?: string;
        id: string;
        isReviewed?: boolean;
        objectSource?: import("../API").SourceOfData;
        organizationID: string;
        responseDate?: any;
        score?: number;
        sentiment?: import("../API").SentimentTypes;
        surveyID: string;
        updated_at: any;
        followUpResponsesModels?: {
            __typename?: "FollowUpResponse";
            id: string;
            comment: string;
            followUpQuestion: {
                __typename?: "FollowUpQuestion";
                id: string;
                answerOptions?: string[];
                answerType?: string;
                question: string;
                questionType?: import("../API").QuestionType;
                isDefault?: boolean;
                isRequired?: boolean;
                index?: number;
            };
        }[];
        account?: {
            __typename?: "Account";
            id: string;
            vip?: boolean;
            displayName?: string;
            primaryContact?: {
                __typename?: "User";
                fullName?: string;
            };
        };
        user?: {
            __typename?: "User";
            id: string;
            vip?: boolean;
            email?: string;
            firstName?: string;
            lastName?: string;
            fullName?: string;
            accounts?: {
                __typename?: "Account";
                id: string;
                vip?: boolean;
                displayName?: string;
                primaryContact?: {
                    __typename?: "User";
                    fullName?: string;
                };
            }[];
        };
        survey: {
            __typename?: "Survey";
            id: string;
            name: string;
            surveyType?: import("../API").SurveyType;
        };
        needs?: {
            __typename?: "Need";
            id: string;
        }[];
    }>;
    get useGet(): (options: import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SurveyResponseGetQuery, import("../API").Exact<{
        id: string;
    }>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").SurveyResponseGetQuery, import("../API").Exact<{
            id: string;
        }>>;
        data: import("../API").SurveyResponseGetQuery;
        previousData?: import("../API").SurveyResponseGetQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            id: string;
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").SurveyResponseGetQuery, TSubscriptionVariables = import("../API").Exact<{
            id: string;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").SurveyResponseGetQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            id: string;
        }>>(mapFn: (previousQueryResult: import("../API").SurveyResponseGetQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").SurveyResponseGetQuery>, "variables">) => import("../API").SurveyResponseGetQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            id: string;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").SurveyResponseGetQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            id: string;
        }>, import("../API").SurveyResponseGetQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").SurveyResponseGetQuery>>;
        fetchMore: <TFetchData = import("../API").SurveyResponseGetQuery, TFetchVars = import("../API").Exact<{
            id: string;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").SurveyResponseGetQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").SurveyResponseGetQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get list(): (input: import("../API").Exact<{
        filter?: import("../API").SurveyResponseFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
    }>, options?: import("../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SurveyResponseListQuery, import("../API").Exact<{
        filter?: import("../API").SurveyResponseFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
    }>>>) => Promise<{
        __typename?: "SurveyResponseConnection";
        totalCount: number;
        pageInfo: {
            __typename?: "PageInfo";
            hasNextPage?: boolean;
            endCursor?: any;
        };
        edges: {
            __typename?: "SurveyResponseEdge";
            cursor: any;
            node: {
                __typename?: "SurveyResponse";
                comment?: string;
                created_at: any;
                externalSurveyResponseID?: string;
                id: string;
                isReviewed?: boolean;
                objectSource?: import("../API").SourceOfData;
                organizationID: string;
                responseDate?: any;
                score?: number;
                sentiment?: import("../API").SentimentTypes;
                surveyID: string;
                updated_at: any;
                suggestedTopics?: {
                    __typename?: "Topic";
                    id: string;
                    name: string;
                    topicKey?: number;
                    statusOption?: {
                        __typename?: "StatusOption";
                        color?: string;
                        id: string;
                        resolvesNeed?: boolean;
                        value?: string;
                    };
                    inbox?: {
                        __typename?: "Inbox";
                        key: string;
                        id: string;
                        name: string;
                    };
                }[];
                followUpResponsesModels?: {
                    __typename?: "FollowUpResponse";
                    id: string;
                    comment: string;
                    followUpQuestion: {
                        __typename?: "FollowUpQuestion";
                        id: string;
                        answerOptions?: string[];
                        answerType?: string;
                        question: string;
                        questionType?: import("../API").QuestionType;
                        isDefault?: boolean;
                        isRequired?: boolean;
                        index?: number;
                    };
                }[];
                account?: {
                    __typename?: "Account";
                    id: string;
                    vip?: boolean;
                    displayName?: string;
                    primaryContact?: {
                        __typename?: "User";
                        fullName?: string;
                    };
                };
                user?: {
                    __typename?: "User";
                    id: string;
                    vip?: boolean;
                    email?: string;
                    firstName?: string;
                    lastName?: string;
                    fullName?: string;
                    accounts?: {
                        __typename?: "Account";
                        id: string;
                        vip?: boolean;
                        displayName?: string;
                        primaryContact?: {
                            __typename?: "User";
                            fullName?: string;
                        };
                    }[];
                };
                survey: {
                    __typename?: "Survey";
                    id: string;
                    name: string;
                    surveyType?: import("../API").SurveyType;
                };
                needs?: {
                    __typename?: "Need";
                    id: string;
                }[];
            };
        }[];
    }>;
    get useList(): (options: import("../core").CacheUpdateOptions<import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SurveyResponseListQuery, import("../API").Exact<{
        filter?: import("../API").SurveyResponseFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").SurveyResponseListQuery, import("../API").Exact<{
            filter?: import("../API").SurveyResponseFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
        }>>;
        data: import("../API").SurveyResponseListQuery;
        previousData?: import("../API").SurveyResponseListQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            filter?: import("../API").SurveyResponseFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").SurveyResponseListQuery, TSubscriptionVariables = import("../API").Exact<{
            filter?: import("../API").SurveyResponseFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").SurveyResponseListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            filter?: import("../API").SurveyResponseFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
        }>>(mapFn: (previousQueryResult: import("../API").SurveyResponseListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").SurveyResponseListQuery>, "variables">) => import("../API").SurveyResponseListQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter?: import("../API").SurveyResponseFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").SurveyResponseListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter?: import("../API").SurveyResponseFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
        }>, import("../API").SurveyResponseListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").SurveyResponseListQuery>>;
        fetchMore: <TFetchData = import("../API").SurveyResponseListQuery, TFetchVars = import("../API").Exact<{
            filter?: import("../API").SurveyResponseFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").SurveyResponseListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").SurveyResponseListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get useListBySegmentId(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").GetSurveyResponsesBySegmentQuery, import("../API").Exact<{
        organizationID: string;
        segmentID: string;
        surveyType: import("../API").SurveyType;
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").GetSurveyResponsesBySegmentQuery, import("../API").Exact<{
            organizationID: string;
            segmentID: string;
            surveyType: import("../API").SurveyType;
        }>>;
        data: import("../API").GetSurveyResponsesBySegmentQuery;
        previousData?: import("../API").GetSurveyResponsesBySegmentQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            organizationID: string;
            segmentID: string;
            surveyType: import("../API").SurveyType;
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").GetSurveyResponsesBySegmentQuery, TSubscriptionVariables = import("../API").Exact<{
            organizationID: string;
            segmentID: string;
            surveyType: import("../API").SurveyType;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").GetSurveyResponsesBySegmentQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            organizationID: string;
            segmentID: string;
            surveyType: import("../API").SurveyType;
        }>>(mapFn: (previousQueryResult: import("../API").GetSurveyResponsesBySegmentQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").GetSurveyResponsesBySegmentQuery>, "variables">) => import("../API").GetSurveyResponsesBySegmentQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            organizationID: string;
            segmentID: string;
            surveyType: import("../API").SurveyType;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").GetSurveyResponsesBySegmentQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            organizationID: string;
            segmentID: string;
            surveyType: import("../API").SurveyType;
        }>, import("../API").GetSurveyResponsesBySegmentQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").GetSurveyResponsesBySegmentQuery>>;
        fetchMore: <TFetchData = import("../API").GetSurveyResponsesBySegmentQuery, TFetchVars = import("../API").Exact<{
            organizationID: string;
            segmentID: string;
            surveyType: import("../API").SurveyType;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").GetSurveyResponsesBySegmentQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").GetSurveyResponsesBySegmentQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get useListLazy(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceLazyQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SurveyResponseListQuery, import("../API").Exact<{
        filter?: import("../API").SurveyResponseFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
    }>>>>) => import("@apollo/client").LazyQueryResultTuple<import("../API").SurveyResponseListQuery, import("../API").Exact<{
        filter?: import("../API").SurveyResponseFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").SurveyResponseSort | import("../API").SurveyResponseSort[];
    }>>;
}
