import { GetTopicNeedNoteTimelineDocument, History, Note } from '../../API';
import { GetAccountTimeLineDocument, GetSegmentTimelineDocument } from '../../common';
import { ApolloClientService, CacheUpdateOptions, ServiceQueryHookOptions } from '../../core';
type IGetAccountTimelineDocument = typeof GetAccountTimeLineDocument;
type IGetSegmentTimelineDocument = typeof GetSegmentTimelineDocument;
type SegmentTimelineItem = {
    id: string;
    tableType: 'history' | 'segment_member' | 'signalPing';
};
export declare class TimelineService {
    protected client: ApolloClientService;
    constructor(client: ApolloClientService);
    useGetAccountTimeline: (options?: ServiceQueryHookOptions<IGetAccountTimelineDocument>) => {
        data: {
            getAccountTimeLine: {
                data: {
                    [k: string]: unknown;
                }[];
                __typename?: "accountTimeLineResultPayload";
                skip: number;
                take: number;
                hasMore: boolean;
            };
            __typename?: "Query";
        };
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../../API").GetAccountTimeLineQuery, import("../../API").Exact<{
            accountId: string;
            organizationId: string;
            skip: number;
            sortDirection: string;
            take: number;
            filter: string | string[];
            searchTerm: string;
        }>>;
        previousData?: import("../../API").GetAccountTimeLineQuery;
        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").GetAccountTimeLineQuery, TSubscriptionVariables extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            accountId: string;
            organizationId: string;
            skip: number;
            sortDirection: string;
            take: number;
            filter: string | string[];
            searchTerm: string;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../../API").GetAccountTimeLineQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            accountId: string;
            organizationId: string;
            skip: number;
            sortDirection: string;
            take: number;
            filter: string | string[];
            searchTerm: string;
        }>>(mapFn: (previousQueryResult: import("../../API").GetAccountTimeLineQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../../API").GetAccountTimeLineQuery>, "variables">) => import("../../API").GetAccountTimeLineQuery) => void;
        refetch: (variables?: Partial<import("../../API").Exact<{
            accountId: string;
            organizationId: string;
            skip: number;
            sortDirection: string;
            take: number;
            filter: string | string[];
            searchTerm: string;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../../API").GetAccountTimeLineQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../../API").Exact<{
            accountId: string;
            organizationId: string;
            skip: number;
            sortDirection: string;
            take: number;
            filter: string | string[];
            searchTerm: string;
        }>, import("../../API").GetAccountTimeLineQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../../API").GetAccountTimeLineQuery>>;
        variables: import("../../API").Exact<{
            accountId: string;
            organizationId: string;
            skip: number;
            sortDirection: string;
            take: number;
            filter: string | string[];
            searchTerm: string;
        }>;
        fetchMore: <TFetchData = import("../../API").GetAccountTimeLineQuery, TFetchVars extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            accountId: string;
            organizationId: string;
            skip: number;
            sortDirection: string;
            take: number;
            filter: string | string[];
            searchTerm: string;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../../API").GetAccountTimeLineQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../../API").GetAccountTimeLineQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    useGetSegmentTimeline: (options?: ServiceQueryHookOptions<IGetSegmentTimelineDocument>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<{
            list: SegmentTimelineItem[];
        }, import("../../API").Exact<{
            segmentId: string;
            skip: number;
            sortDirection: string;
            take: number;
        }>>;
        data: {
            list: SegmentTimelineItem[];
        };
        previousData?: {
            list: SegmentTimelineItem[];
        };
        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: SegmentTimelineItem[];
        }, TSubscriptionVariables extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            segmentId: string;
            skip: number;
            sortDirection: string;
            take: number;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<{
            list: SegmentTimelineItem[];
        }, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            segmentId: string;
            skip: number;
            sortDirection: string;
            take: number;
        }>>(mapFn: (previousQueryResult: {
            list: SegmentTimelineItem[];
        }, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, {
            list: SegmentTimelineItem[];
        }>, "variables">) => {
            list: SegmentTimelineItem[];
        }) => void;
        refetch: (variables?: Partial<import("../../API").Exact<{
            segmentId: string;
            skip: number;
            sortDirection: string;
            take: number;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<{
            list: SegmentTimelineItem[];
        }>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../../API").Exact<{
            segmentId: string;
            skip: number;
            sortDirection: string;
            take: number;
        }>, {
            list: SegmentTimelineItem[];
        }>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<{
            list: SegmentTimelineItem[];
        }>>;
        variables: import("../../API").Exact<{
            segmentId: string;
            skip: number;
            sortDirection: string;
            take: number;
        }>;
        fetchMore: <TFetchData = {
            list: SegmentTimelineItem[];
        }, TFetchVars extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            segmentId: string;
            skip: number;
            sortDirection: string;
            take: number;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: {
                list: SegmentTimelineItem[];
            }, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => {
                list: SegmentTimelineItem[];
            };
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    useGetTopicNeedNoteTimeline: (options?: CacheUpdateOptions<ServiceQueryHookOptions<typeof GetTopicNeedNoteTimelineDocument>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../../API").GetTopicNeedNoteTimelineQuery, import("../../API").Exact<{
            input: import("../../API").TopicTimeLineInput;
        }>>;
        previousData?: import("../../API").GetTopicNeedNoteTimelineQuery;
        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").GetTopicNeedNoteTimelineQuery, TSubscriptionVariables extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            input: import("../../API").TopicTimeLineInput;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../../API").GetTopicNeedNoteTimelineQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            input: import("../../API").TopicTimeLineInput;
        }>>(mapFn: (previousQueryResult: import("../../API").GetTopicNeedNoteTimelineQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../../API").GetTopicNeedNoteTimelineQuery>, "variables">) => import("../../API").GetTopicNeedNoteTimelineQuery) => void;
        refetch: (variables?: Partial<import("../../API").Exact<{
            input: import("../../API").TopicTimeLineInput;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../../API").GetTopicNeedNoteTimelineQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../../API").Exact<{
            input: import("../../API").TopicTimeLineInput;
        }>, import("../../API").GetTopicNeedNoteTimelineQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../../API").GetTopicNeedNoteTimelineQuery>>;
        variables: import("../../API").Exact<{
            input: import("../../API").TopicTimeLineInput;
        }>;
        fetchMore: <TFetchData = import("../../API").GetTopicNeedNoteTimelineQuery, TFetchVars extends import("@apollo/client").OperationVariables = import("../../API").Exact<{
            input: import("../../API").TopicTimeLineInput;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../../API").GetTopicNeedNoteTimelineQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../../API").GetTopicNeedNoteTimelineQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
        data: {
            timelineData: (History | Note)[];
            take: number;
            skip: number;
            totalCount: number;
        };
    };
    replaceAliasedKeys(item: Record<string, unknown>, aliasKey: string): {
        [k: string]: unknown;
    };
}
export {};
