import { QueryHookOptions } from '@apollo/client';
import { Artifact, NeedArtifactSearchResultPayload, QuerySearchNeedsAndArtifactsArgs } from '../../API';
import { Need } from '../../common';
import { ApolloClientService } from '../../core';
export declare class NeedsAndArtifactsService {
    protected client: ApolloClientService;
    constructor(client: ApolloClientService);
    useSearchNeedsAndArtifacts: (options?: QueryHookOptions<{
        list: NeedArtifactSearchResultPayload;
    }, QuerySearchNeedsAndArtifactsArgs>) => {
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<{
            list: NeedArtifactSearchResultPayload;
        }, QuerySearchNeedsAndArtifactsArgs>;
        previousData?: {
            list: NeedArtifactSearchResultPayload;
        };
        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 = {
            list: NeedArtifactSearchResultPayload;
        }, TSubscriptionVariables extends import("@apollo/client").OperationVariables = QuerySearchNeedsAndArtifactsArgs>(options: import("@apollo/client").SubscribeToMoreOptions<{
            list: NeedArtifactSearchResultPayload;
        }, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = QuerySearchNeedsAndArtifactsArgs>(mapFn: (previousQueryResult: {
            list: NeedArtifactSearchResultPayload;
        }, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, {
            list: NeedArtifactSearchResultPayload;
        }>, "variables">) => {
            list: NeedArtifactSearchResultPayload;
        }) => void;
        refetch: (variables?: Partial<QuerySearchNeedsAndArtifactsArgs>) => Promise<import("@apollo/client").ApolloQueryResult<{
            list: NeedArtifactSearchResultPayload;
        }>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<QuerySearchNeedsAndArtifactsArgs, {
            list: NeedArtifactSearchResultPayload;
        }>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<{
            list: NeedArtifactSearchResultPayload;
        }>>;
        variables: QuerySearchNeedsAndArtifactsArgs;
        fetchMore: <TFetchData = {
            list: NeedArtifactSearchResultPayload;
        }, TFetchVars extends import("@apollo/client").OperationVariables = QuerySearchNeedsAndArtifactsArgs>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: {
                list: NeedArtifactSearchResultPayload;
            }, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => {
                list: NeedArtifactSearchResultPayload;
            };
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
        data: {
            feedData: (Artifact | Need)[];
            skip: number;
            take: number;
            needCount: number;
            artifactCount: number;
        };
    };
    replaceArtifactAliasedKeys(item: Artifact, artifactAliasKey: string): {
        [k: string]: any;
    };
}
