import { SuccessPlan } from '../API';
import { CRUDService, ICrudService } from '../core';
import { PartialBy } from '../common';
export declare class SuccessPlanService extends CRUDService<SuccessPlan> {
    protected hasOneModels: ICrudService<SuccessPlan>['hasOneModels'];
    get create(): (input: Partial<Record<"tasks" | "achievements" | "attachments" | "attachmentBlocks" | "headerBlocks" | "textBlocks" | "artifacts" | "desiredOutcomes", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<SuccessPlan>, import("../../..").ModelWithId>> & Omit<import("../API").CreateSuccessPlan, "tasks" | "achievements" | "attachments" | "attachmentBlocks" | "headerBlocks" | "textBlocks" | "artifacts" | "desiredOutcomes" | import("../core").HasOneRelationsOf<SuccessPlan>>, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SuccessPlanCreateOneMutation, import("../API").Exact<{
        input: import("../API").CreateSuccessPlan;
    }>>>) => Promise<{
        __typename?: "SuccessPlan";
        id: string;
        name?: string;
        emoji?: string;
        isPublished?: boolean;
        updated_at: any;
        created_at: any;
    }>;
    get update(): (input: Partial<Record<"tasks" | "achievements" | "attachments" | "attachmentBlocks" | "headerBlocks" | "textBlocks" | "artifacts" | "desiredOutcomes", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<SuccessPlan>, import("../../..").ModelWithId>> & Omit<import("../API").UpdateSuccessPlan, "tasks" | "achievements" | "attachments" | "attachmentBlocks" | "headerBlocks" | "textBlocks" | "artifacts" | "desiredOutcomes" | import("../core").HasOneRelationsOf<SuccessPlan>> & {
        id: string;
    }, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SuccessPlanUpdateOneMutation, import("../API").Exact<{
        input: import("../API").UpdateOneSuccessPlanInput;
    }>>>) => Promise<{
        __typename?: "SuccessPlan";
        id: string;
        name?: string;
        emoji?: string;
        isPublished?: boolean;
        updated_at: any;
        created_at: any;
    }>;
    get delete(): (id: string, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SuccessPlanDeleteOneMutation, import("../API").Exact<{
        input: import("../API").DeleteOneSuccessPlanInput;
    }>>>) => Promise<{
        __typename?: "SuccessPlanDeleteResponse";
        id?: string;
    }>;
    get get(): (id: string, options?: Omit<import("@apollo/client").QueryOptions<import("../API").Exact<{
        id: string;
    }>, import("../API").SuccessPlanGetQuery>, "query">) => Promise<{
        __typename?: "SuccessPlan";
        id: string;
        name?: string;
        emoji?: string;
        isPublished?: boolean;
        updated_at: any;
        created_at: any;
        account: {
            __typename?: "Account";
            id: string;
            displayName?: string;
        };
        otherTasksAggregate: {
            __typename?: "SuccessPlanTasksAggregateResponse";
            count?: {
                __typename?: "SuccessPlanTasksCountAggregate";
                id?: number;
            };
        }[];
        totalTasksAggregate: {
            __typename?: "SuccessPlanTasksAggregateResponse";
            count?: {
                __typename?: "SuccessPlanTasksCountAggregate";
                id?: number;
            };
        }[];
        totalDesiredOutcomesAggregate: {
            __typename?: "SuccessPlanDesiredOutcomesAggregateResponse";
            count?: {
                __typename?: "SuccessPlanDesiredOutcomesCountAggregate";
                id?: number;
            };
        }[];
        totalAttachmentsAggregate: {
            __typename?: "SuccessPlanAttachmentsAggregateResponse";
            count?: {
                __typename?: "SuccessPlanAttachmentsCountAggregate";
                id?: number;
            };
        }[];
    }>;
    get useGet(): (options: import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SuccessPlanGetQuery, 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").SuccessPlanGetQuery, import("../API").Exact<{
            id: string;
        }>>;
        data: import("../API").SuccessPlanGetQuery;
        previousData?: import("../API").SuccessPlanGetQuery;
        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").SuccessPlanGetQuery, TSubscriptionVariables = import("../API").Exact<{
            id: string;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").SuccessPlanGetQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            id: string;
        }>>(mapFn: (previousQueryResult: import("../API").SuccessPlanGetQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").SuccessPlanGetQuery>, "variables">) => import("../API").SuccessPlanGetQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            id: string;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").SuccessPlanGetQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            id: string;
        }>, import("../API").SuccessPlanGetQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").SuccessPlanGetQuery>>;
        fetchMore: <TFetchData = import("../API").SuccessPlanGetQuery, TFetchVars = import("../API").Exact<{
            id: string;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").SuccessPlanGetQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").SuccessPlanGetQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get list(): (input: import("../API").Exact<{
        filter?: import("../API").SuccessPlanFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
    }>, options?: import("../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").SuccessPlanListQuery, import("../API").Exact<{
        filter?: import("../API").SuccessPlanFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
    }>>>) => Promise<{
        __typename?: "SuccessPlanConnection";
        totalCount: number;
        edges: {
            __typename?: "SuccessPlanEdge";
            node: {
                __typename?: "SuccessPlan";
                id: string;
                name?: string;
                emoji?: string;
                isPublished?: boolean;
                updated_at: any;
                created_at: any;
            };
        }[];
        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").SuccessPlanListQuery, import("../API").Exact<{
        filter?: import("../API").SuccessPlanFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").SuccessPlanListQuery, import("../API").Exact<{
            filter?: import("../API").SuccessPlanFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
        }>>;
        data: import("../API").SuccessPlanListQuery;
        previousData?: import("../API").SuccessPlanListQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            filter?: import("../API").SuccessPlanFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").SuccessPlanListQuery, TSubscriptionVariables = import("../API").Exact<{
            filter?: import("../API").SuccessPlanFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").SuccessPlanListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            filter?: import("../API").SuccessPlanFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
        }>>(mapFn: (previousQueryResult: import("../API").SuccessPlanListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").SuccessPlanListQuery>, "variables">) => import("../API").SuccessPlanListQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter?: import("../API").SuccessPlanFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").SuccessPlanListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter?: import("../API").SuccessPlanFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
        }>, import("../API").SuccessPlanListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").SuccessPlanListQuery>>;
        fetchMore: <TFetchData = import("../API").SuccessPlanListQuery, TFetchVars = import("../API").Exact<{
            filter?: import("../API").SuccessPlanFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").SuccessPlanSort | import("../API").SuccessPlanSort[];
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").SuccessPlanListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").SuccessPlanListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    createDefault(input: PartialBy<Parameters<typeof this.create>[0], 'organizationID'>, options?: Parameters<typeof this.create>[1]): Promise<{
        __typename?: "SuccessPlan";
        id: string;
        name?: string;
        emoji?: string;
        isPublished?: boolean;
        updated_at: any;
        created_at: any;
    }>;
}
