import { FunnelStep, FunnelStepListDocument } from '../API';
import { CRUDService, ICrudService, ServiceQueryHookOptions } from '../core';
export declare class FunnelStepService extends CRUDService<FunnelStep> {
    protected hasOneModels: ICrudService<FunnelStep>['hasOneModels'];
    validateName: (name: string, funnelID: string) => Promise<boolean>;
    get readById(): (id: string) => import("../API").Core_Funnel_Step_FieldsFragment;
    get useIsAllConditionsConfigured(): (funnelID: string, options?: Omit<ServiceQueryHookOptions<typeof FunnelStepListDocument>, 'variables'>) => {
        isAllConditionsConfigured: boolean;
        notConfiguredFunnelStep: {
            __typename?: "FunnelStep";
            id: string;
            name?: string;
            order?: number;
            condition?: any[][];
            description?: string;
            conditionSet?: boolean;
            useForCompletion?: boolean;
        };
        isLoading: boolean;
    };
    get useLastStepForCompletion(): (funnelID: string, options?: Omit<ServiceQueryHookOptions<typeof FunnelStepListDocument>, 'variables'>) => {
        lastStepForCompletion: {
            __typename?: "FunnelStep";
            id: string;
            name?: string;
            order?: number;
            condition?: any[][];
            description?: string;
            conditionSet?: boolean;
            useForCompletion?: boolean;
        };
        hasAtLeastOneStepForCompletion: boolean;
        isLoading: boolean;
    };
    get create(): (input: Partial<Record<"users" | "accounts", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<FunnelStep>, import("../../..").ModelWithId>> & Omit<import("../API").CreateFunnelStep, "users" | "accounts" | import("../core").HasOneRelationsOf<FunnelStep>>, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepCreateOneMutation, import("../API").Exact<{
        input: import("../API").CreateFunnelStep;
    }>>>) => Promise<{
        __typename?: "FunnelStep";
        id: string;
        name?: string;
        order?: number;
        condition?: any[][];
        description?: string;
        conditionSet?: boolean;
        useForCompletion?: boolean;
    }>;
    get useCreate(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepCreateOneMutation, import("../API").Exact<{
        input: import("../API").CreateFunnelStep;
    }>>>>) => [(payload: import("../core").InputAndRelations<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepCreateOneMutation, import("../API").Exact<{
        input: import("../API").CreateFunnelStep;
    }>>, FunnelStep>) => Promise<{
        __typename?: "FunnelStep";
        id: string;
        name?: string;
        order?: number;
        condition?: any[][];
        description?: string;
        conditionSet?: boolean;
        useForCompletion?: boolean;
    }>, import("@apollo/client").MutationResult<any>];
    get update(): (input: Partial<Record<"users" | "accounts", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<FunnelStep>, import("../../..").ModelWithId>> & Omit<import("../API").UpdateFunnelStep, "users" | "accounts" | import("../core").HasOneRelationsOf<FunnelStep>> & {
        id: string;
    }, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepUpdateOneMutation, import("../API").Exact<{
        input: import("../API").UpdateOneFunnelStepInput;
    }>>>) => Promise<{
        __typename?: "FunnelStep";
        id: string;
        name?: string;
        order?: number;
        condition?: any[][];
        description?: string;
        conditionSet?: boolean;
        useForCompletion?: boolean;
    }>;
    get useUpdate(): (mainOptions?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepUpdateOneMutation, import("../API").Exact<{
        input: import("../API").UpdateOneFunnelStepInput;
    }>>>>) => [({ id, ...input }: Partial<Record<"users" | "accounts", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<FunnelStep>, import("../../..").ModelWithId>> & import("../API").UpdateFunnelStep & {
        id: string;
    }, options?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepUpdateOneMutation, import("../API").Exact<{
        input: import("../API").UpdateOneFunnelStepInput;
    }>>>>) => Promise<any>, import("@apollo/client").MutationResult<any>];
    get delete(): (id: string, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepDeleteOneMutation, import("../API").Exact<{
        input: import("../API").DeleteOneFunnelStepInput;
    }>>>) => Promise<{
        __typename?: "FunnelStepDeleteResponse";
        id?: string;
    }>;
    get useDelete(): (options?: import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepDeleteOneMutation, import("../API").Exact<{
        input: import("../API").DeleteOneFunnelStepInput;
    }>>>) => [(id?: string) => Promise<{
        __typename?: "FunnelStepDeleteResponse";
        id?: string;
    }>, import("@apollo/client").MutationResult<import("../API").FunnelStepDeleteOneMutation>];
    get list(): (input: import("../API").Exact<{
        filter?: import("../API").FunnelStepFilter;
        sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
        paging?: import("../API").CursorPaging;
    }>, options?: import("../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepListQuery, import("../API").Exact<{
        filter?: import("../API").FunnelStepFilter;
        sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
        paging?: import("../API").CursorPaging;
    }>>>) => Promise<{
        __typename?: "FunnelStepConnection";
        totalCount: number;
        edges: {
            __typename?: "FunnelStepEdge";
            cursor: any;
            node: {
                __typename?: "FunnelStep";
                id: string;
                name?: string;
                order?: number;
                condition?: any[][];
                description?: string;
                conditionSet?: boolean;
                useForCompletion?: boolean;
            };
        }[];
        pageInfo: {
            __typename?: "PageInfo";
            endCursor?: any;
            startCursor?: any;
            hasNextPage?: boolean;
            hasPreviousPage?: boolean;
        };
    }>;
    get useList(): (options: import("../core").CacheUpdateOptions<ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepListQuery, import("../API").Exact<{
        filter?: import("../API").FunnelStepFilter;
        sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
        paging?: import("../API").CursorPaging;
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").FunnelStepListQuery, import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>;
        data: import("../API").FunnelStepListQuery;
        previousData?: import("../API").FunnelStepListQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").FunnelStepListQuery, TSubscriptionVariables = import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").FunnelStepListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>(mapFn: (previousQueryResult: import("../API").FunnelStepListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").FunnelStepListQuery>, "variables">) => import("../API").FunnelStepListQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").FunnelStepListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>, import("../API").FunnelStepListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").FunnelStepListQuery>>;
        fetchMore: <TFetchData = import("../API").FunnelStepListQuery, TFetchVars = import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").FunnelStepListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").FunnelStepListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get useBreakdownList(): (options: import("../core").CacheUpdateOptions<ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepBreakdownListQuery, import("../API").Exact<{
        filter?: import("../API").FunnelStepFilter;
        sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
        paging?: import("../API").CursorPaging;
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").FunnelStepBreakdownListQuery, import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>;
        data: import("../API").FunnelStepBreakdownListQuery;
        previousData?: import("../API").FunnelStepBreakdownListQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").FunnelStepBreakdownListQuery, TSubscriptionVariables = import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").FunnelStepBreakdownListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>(mapFn: (previousQueryResult: import("../API").FunnelStepBreakdownListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").FunnelStepBreakdownListQuery>, "variables">) => import("../API").FunnelStepBreakdownListQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").FunnelStepBreakdownListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>, import("../API").FunnelStepBreakdownListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").FunnelStepBreakdownListQuery>>;
        fetchMore: <TFetchData = import("../API").FunnelStepBreakdownListQuery, TFetchVars = import("../API").Exact<{
            filter?: import("../API").FunnelStepFilter;
            sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
            paging?: import("../API").CursorPaging;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").FunnelStepBreakdownListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").FunnelStepBreakdownListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get useGetLazy(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceLazyQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").FunnelStepListQuery, import("../API").Exact<{
        filter?: import("../API").FunnelStepFilter;
        sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
        paging?: import("../API").CursorPaging;
    }>>>>) => import("@apollo/client").LazyQueryResultTuple<import("../API").FunnelStepListQuery, import("../API").Exact<{
        filter?: import("../API").FunnelStepFilter;
        sorting?: import("../API").FunnelStepSort | import("../API").FunnelStepSort[];
        paging?: import("../API").CursorPaging;
    }>>;
    get get(): (id: string, options?: Omit<import("@apollo/client").QueryOptions<import("../API").Exact<{
        id: string;
    }>, import("../API").GetFunnelStepQuery>, "query">) => Promise<{
        __typename?: "FunnelStep";
        id: string;
        name?: string;
        order?: number;
        condition?: any[][];
        description?: string;
        conditionSet?: boolean;
        useForCompletion?: boolean;
        funnel?: {
            __typename?: "Funnel";
            id: string;
            name?: string;
            status?: import("../API").SegmentStatus;
        };
    }>;
    get useGet(): (options: ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").GetFunnelStepQuery, 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").GetFunnelStepQuery, import("../API").Exact<{
            id: string;
        }>>;
        data: import("../API").GetFunnelStepQuery;
        previousData?: import("../API").GetFunnelStepQuery;
        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").GetFunnelStepQuery, TSubscriptionVariables = import("../API").Exact<{
            id: string;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").GetFunnelStepQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            id: string;
        }>>(mapFn: (previousQueryResult: import("../API").GetFunnelStepQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").GetFunnelStepQuery>, "variables">) => import("../API").GetFunnelStepQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            id: string;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").GetFunnelStepQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            id: string;
        }>, import("../API").GetFunnelStepQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").GetFunnelStepQuery>>;
        fetchMore: <TFetchData = import("../API").GetFunnelStepQuery, TFetchVars = import("../API").Exact<{
            id: string;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").GetFunnelStepQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").GetFunnelStepQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
}
