import { FollowUpQuestion } from '../API';
import { CRUDService, ICrudService } from '../core';
export declare class FollowUpQuestionService extends CRUDService<FollowUpQuestion> {
    protected hasOneModels: ICrudService<FollowUpQuestion>['hasOneModels'];
    get getIndividualSurveyQuestionByTimeFrame(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").GetIndividualSurveyQuestionByTimeFrameQuery, import("../API").Exact<{
        organizationID: string;
        questionID: string;
        timeFrame: import("../API").ThirtyNinetyAllTime;
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").GetIndividualSurveyQuestionByTimeFrameQuery, import("../API").Exact<{
            organizationID: string;
            questionID: string;
            timeFrame: import("../API").ThirtyNinetyAllTime;
        }>>;
        data: import("../API").GetIndividualSurveyQuestionByTimeFrameQuery;
        previousData?: import("../API").GetIndividualSurveyQuestionByTimeFrameQuery;
        error?: import("@apollo/client").ApolloError;
        errors?: readonly import("graphql").GraphQLFormattedError[];
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").GetIndividualSurveyQuestionByTimeFrameQuery, TSubscriptionVariables extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            organizationID: string;
            questionID: string;
            timeFrame: import("../API").ThirtyNinetyAllTime;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").GetIndividualSurveyQuestionByTimeFrameQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            organizationID: string;
            questionID: string;
            timeFrame: import("../API").ThirtyNinetyAllTime;
        }>>(mapFn: (previousQueryResult: import("../API").GetIndividualSurveyQuestionByTimeFrameQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").GetIndividualSurveyQuestionByTimeFrameQuery>, "variables">) => import("../API").GetIndividualSurveyQuestionByTimeFrameQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            organizationID: string;
            questionID: string;
            timeFrame: import("../API").ThirtyNinetyAllTime;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").GetIndividualSurveyQuestionByTimeFrameQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            organizationID: string;
            questionID: string;
            timeFrame: import("../API").ThirtyNinetyAllTime;
        }>, import("../API").GetIndividualSurveyQuestionByTimeFrameQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").GetIndividualSurveyQuestionByTimeFrameQuery>>;
        variables: import("../API").Exact<{
            organizationID: string;
            questionID: string;
            timeFrame: import("../API").ThirtyNinetyAllTime;
        }>;
        fetchMore: <TFetchData = import("../API").GetIndividualSurveyQuestionByTimeFrameQuery, TFetchVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            organizationID: string;
            questionID: string;
            timeFrame: import("../API").ThirtyNinetyAllTime;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").GetIndividualSurveyQuestionByTimeFrameQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").GetIndividualSurveyQuestionByTimeFrameQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get list(): (input: import("../API").Exact<{
        filter: import("../API").FollowUpQuestionFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
    }>, options?: import("../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FollowUpQuestionListQuery, import("../API").Exact<{
        filter: import("../API").FollowUpQuestionFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
    }>>>) => Promise<{
        __typename?: "FollowUpQuestionConnection";
        edges: {
            __typename?: "FollowUpQuestionEdge";
            cursor: any;
            node: {
                __typename?: "FollowUpQuestion";
                id: string;
                answerOptions?: string[];
                answerType?: string;
                organizationID: string;
                question: string;
                questionType?: import("../API").QuestionType;
                surveyID: string;
                isDefault?: boolean;
                isRequired?: boolean;
                index?: number;
                created_at: any;
                updated_at: any;
                followUpResponses?: {
                    __typename?: "FollowUpResponse";
                    id: string;
                    comment: string;
                    followUpQuestionID: string;
                    organizationID: string;
                    surveyResponseID: string;
                    created_at: any;
                    updated_at: any;
                }[];
                survey: {
                    __typename?: "Survey";
                    id: string;
                    surveyType?: import("../API").SurveyType;
                    name: string;
                    objectSource?: import("../API").SourceOfData;
                    created_at: any;
                    updated_at: any;
                };
            };
        }[];
        pageInfo: {
            __typename?: "PageInfo";
            startCursor?: any;
            endCursor?: any;
            hasNextPage?: boolean;
            hasPreviousPage?: boolean;
        };
    }>;
    get useList(): (options: import("../core").CacheUpdateOptions<import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FollowUpQuestionListQuery, import("../API").Exact<{
        filter: import("../API").FollowUpQuestionFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").FollowUpQuestionListQuery, import("../API").Exact<{
            filter: import("../API").FollowUpQuestionFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
        }>>;
        data: import("../API").FollowUpQuestionListQuery;
        previousData?: import("../API").FollowUpQuestionListQuery;
        error?: import("@apollo/client").ApolloError;
        errors?: readonly import("graphql").GraphQLFormattedError[];
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").FollowUpQuestionListQuery, TSubscriptionVariables extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            filter: import("../API").FollowUpQuestionFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").FollowUpQuestionListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            filter: import("../API").FollowUpQuestionFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
        }>>(mapFn: (previousQueryResult: import("../API").FollowUpQuestionListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").FollowUpQuestionListQuery>, "variables">) => import("../API").FollowUpQuestionListQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter: import("../API").FollowUpQuestionFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").FollowUpQuestionListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter: import("../API").FollowUpQuestionFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
        }>, import("../API").FollowUpQuestionListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").FollowUpQuestionListQuery>>;
        variables: import("../API").Exact<{
            filter: import("../API").FollowUpQuestionFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
        }>;
        fetchMore: <TFetchData = import("../API").FollowUpQuestionListQuery, TFetchVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            filter: import("../API").FollowUpQuestionFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").FollowUpQuestionSort | import("../API").FollowUpQuestionSort[];
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").FollowUpQuestionListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").FollowUpQuestionListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get get(): (id: string, options?: Omit<import("@apollo/client").QueryOptions<import("../API").Exact<{
        id: string;
    }>, import("../API").GetFollowUpQuestionQuery>, "query">) => Promise<{
        __typename?: "FollowUpQuestion";
        id: string;
        answerOptions?: string[];
        answerType?: string;
        organizationID: string;
        question: string;
        questionType?: import("../API").QuestionType;
        surveyID: string;
        isDefault?: boolean;
        isRequired?: boolean;
        index?: number;
        created_at: any;
        updated_at: any;
        followUpResponses?: {
            __typename?: "FollowUpResponse";
            id: string;
            comment: string;
            followUpQuestionID: string;
            organizationID: string;
            surveyResponseID: string;
            created_at: any;
            updated_at: any;
        }[];
        survey: {
            __typename?: "Survey";
            id: string;
            surveyType?: import("../API").SurveyType;
            name: string;
            objectSource?: import("../API").SourceOfData;
            created_at: any;
            updated_at: any;
        };
    }>;
    get useGet(): (options: import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").GetFollowUpQuestionQuery, 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").GetFollowUpQuestionQuery, import("../API").Exact<{
            id: string;
        }>>;
        data: import("../API").GetFollowUpQuestionQuery;
        previousData?: import("../API").GetFollowUpQuestionQuery;
        error?: import("@apollo/client").ApolloError;
        errors?: readonly import("graphql").GraphQLFormattedError[];
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").GetFollowUpQuestionQuery, TSubscriptionVariables extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            id: string;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").GetFollowUpQuestionQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            id: string;
        }>>(mapFn: (previousQueryResult: import("../API").GetFollowUpQuestionQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").GetFollowUpQuestionQuery>, "variables">) => import("../API").GetFollowUpQuestionQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            id: string;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").GetFollowUpQuestionQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            id: string;
        }>, import("../API").GetFollowUpQuestionQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").GetFollowUpQuestionQuery>>;
        variables: import("../API").Exact<{
            id: string;
        }>;
        fetchMore: <TFetchData = import("../API").GetFollowUpQuestionQuery, TFetchVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            id: string;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").GetFollowUpQuestionQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").GetFollowUpQuestionQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get useCreate(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateOneFollowUpQuestionMutation, import("../API").Exact<{
        input: import("../API").CreateFollowUpQuestion;
    }>>>>) => [(payload: import("../core").InputAndRelations<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateOneFollowUpQuestionMutation, import("../API").Exact<{
        input: import("../API").CreateFollowUpQuestion;
    }>>, FollowUpQuestion>) => Promise<{
        __typename?: "FollowUpQuestion";
        id: string;
        answerOptions?: string[];
        answerType?: string;
        organizationID: string;
        question: string;
        questionType?: import("../API").QuestionType;
        surveyID: string;
        isDefault?: boolean;
        isRequired?: boolean;
        index?: number;
        created_at: any;
        updated_at: any;
    }>, import("@apollo/client").MutationResult<{
        createOne: import("../../..").ModelWithId;
    }>];
    get create(): (input: Partial<Record<"followUpResponses", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<FollowUpQuestion>, import("../../..").ModelWithId>> & Omit<import("../API").CreateFollowUpQuestion, "followUpResponses" | import("../core").HasOneRelationsOf<FollowUpQuestion>>, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateOneFollowUpQuestionMutation, import("../API").Exact<{
        input: import("../API").CreateFollowUpQuestion;
    }>>>) => Promise<{
        __typename?: "FollowUpQuestion";
        id: string;
        answerOptions?: string[];
        answerType?: string;
        organizationID: string;
        question: string;
        questionType?: import("../API").QuestionType;
        surveyID: string;
        isDefault?: boolean;
        isRequired?: boolean;
        index?: number;
        created_at: any;
        updated_at: any;
    }>;
    get update(): (input: Partial<Record<"followUpResponses", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<FollowUpQuestion>, import("../../..").ModelWithId>> & Omit<import("../API").UpdateFollowUpQuestion, "followUpResponses" | import("../core").HasOneRelationsOf<FollowUpQuestion>> & {
        id: string;
    }, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOneFollowUpQuestionMutation, import("../API").Exact<{
        input: import("../API").UpdateOneFollowUpQuestionInput;
    }>>>) => Promise<{
        __typename?: "FollowUpQuestion";
        id: string;
        answerOptions?: string[];
        answerType?: string;
        organizationID: string;
        question: string;
        questionType?: import("../API").QuestionType;
        surveyID: string;
        isDefault?: boolean;
        isRequired?: boolean;
        index?: number;
        created_at: any;
        updated_at: any;
    }>;
    get useUpdate(): (mainOptions?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOneFollowUpQuestionMutation, import("../API").Exact<{
        input: import("../API").UpdateOneFollowUpQuestionInput;
    }>>>>) => [({ id, ...input }: Partial<Record<"followUpResponses", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<FollowUpQuestion>, import("../../..").ModelWithId>> & import("../API").UpdateFollowUpQuestion & {
        id: string;
    }, options?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOneFollowUpQuestionMutation, import("../API").Exact<{
        input: import("../API").UpdateOneFollowUpQuestionInput;
    }>>>>) => Promise<Record<string, unknown>>, import("@apollo/client").MutationResult<{
        updateOne: Record<string, unknown>;
    }>];
    get delete(): (id: string, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").DeleteOneFollowUpQuestionMutation, import("../API").Exact<{
        input: import("../API").DeleteOneFollowUpQuestionInput;
    }>>>) => Promise<{
        __typename?: "FollowUpQuestionDeleteResponse";
        id?: string;
    }>;
    get useDelete(): (options?: import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").DeleteOneFollowUpQuestionMutation, import("../API").Exact<{
        input: import("../API").DeleteOneFollowUpQuestionInput;
    }>>>) => [(id?: string) => Promise<{
        __typename?: "FollowUpQuestionDeleteResponse";
        id?: string;
    }>, import("@apollo/client").MutationResult<import("../API").DeleteOneFollowUpQuestionMutation>];
}
