import { Email } from '../API';
import { CRUDService, ICrudService } from '../core';
export declare class EmailService extends CRUDService<Email> {
    protected hasOneModels: ICrudService<Email>['hasOneModels'];
    protected hasManyModels: ICrudService<Email>['hasManyModels'];
    get useGet(): (options: import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").EmailGetQuery, 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").EmailGetQuery, import("../API").Exact<{
            id: string;
        }>>;
        data: import("../API").EmailGetQuery;
        previousData?: import("../API").EmailGetQuery;
        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").EmailGetQuery, TSubscriptionVariables = import("../API").Exact<{
            id: string;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").EmailGetQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            id: string;
        }>>(mapFn: (previousQueryResult: import("../API").EmailGetQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").EmailGetQuery>, "variables">) => import("../API").EmailGetQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            id: string;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").EmailGetQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            id: string;
        }>, import("../API").EmailGetQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").EmailGetQuery>>;
        fetchMore: <TFetchData = import("../API").EmailGetQuery, TFetchVars = import("../API").Exact<{
            id: string;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").EmailGetQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").EmailGetQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get list(): (input: import("../API").Exact<{
        filter?: import("../API").EmailDeepFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").EmailSort | import("../API").EmailSort[];
    }>, options?: import("../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").EmailListQuery, import("../API").Exact<{
        filter?: import("../API").EmailDeepFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").EmailSort | import("../API").EmailSort[];
    }>>>) => Promise<{
        __typename?: "EmailConnection";
        totalCount: number;
        edges: {
            __typename?: "EmailEdge";
            cursor: any;
            node: {
                __typename?: "Email";
                id: string;
                body?: string;
                subject?: string;
                ownerID?: string;
                openned?: boolean;
                delivered?: boolean;
                clicked?: boolean;
                unsubscribed?: boolean;
                created_at: any;
                queuedAutomation?: {
                    __typename?: "QueuedAutomation";
                    id: string;
                    approval?: string;
                    firedDate?: any;
                    fired?: boolean;
                    payload?: any;
                    status?: import("../API").EmailStatus;
                    seen?: boolean;
                    created_at: any;
                    updated_at: any;
                    account?: {
                        __typename?: "Account";
                        id: string;
                        admin?: {
                            __typename?: "Admin";
                            id: string;
                            firstName?: string;
                            lastName?: string;
                            email: string;
                            avatar?: string;
                        };
                    };
                    automation?: {
                        __typename?: "Automation";
                        id: string;
                        queryLiteral?: any[][];
                        created_at: any;
                        alertDataTemplate?: {
                            __typename?: "AlertDataTemplate";
                            id: string;
                            subject: string;
                            callsToAction?: import("../API").CallsToAction[];
                            description: string;
                            senderType?: import("../API").SurveySenderType;
                            greetingOption?: import("../API").GreetingOption;
                            name?: string;
                            greetingText?: string;
                            delaySendTime?: number;
                            emailTo?: import("../API").EmailToType;
                            accountRoleName?: string;
                            ccTeamMemberEmails?: string[];
                            bccTeamMemberEmails?: string[];
                            ccUserEmails?: string[];
                            bccUserEmails?: string[];
                            ccAccountRoles?: string[];
                            bccAccountRoles?: string[];
                            salutationText?: string;
                            salutationOption?: import("../API").SalutationOptionType;
                            specificTeamMemberID?: string;
                            surveyID?: string;
                            salutationTemplate?: {
                                __typename?: "DynamicHtmlTemplate";
                                id: string;
                                name?: string;
                                html?: string;
                            };
                            attachments?: {
                                __typename?: "Attachment";
                                id: string;
                                mimeType: string;
                                description: string;
                                signedUrl: string;
                                alertDataTemplateID?: string;
                            }[];
                            dynamicHtmlTemplate?: {
                                __typename?: "DynamicHtmlTemplate";
                                id: string;
                                html?: string;
                                name?: string;
                            };
                            specificTeamMember?: {
                                __typename?: "Admin";
                                id: string;
                                lastName?: string;
                                firstName?: string;
                                avatar?: string;
                                email: string;
                            };
                            properties?: {
                                __typename?: "PropertyMap";
                                id: string;
                                name: string;
                                sortIndex?: number;
                            }[];
                        };
                        playbook?: {
                            __typename?: "Playbook";
                            id: string;
                            name?: string;
                            assignedObject?: import("../API").PlayBookObject;
                        };
                        segment?: {
                            __typename?: "Segment";
                            id: string;
                            name: string;
                            type?: import("../API").SegmentType;
                        };
                    };
                    user?: {
                        __typename?: "User";
                        id: string;
                        firstName?: string;
                        lastName?: string;
                        fullName?: string;
                        email?: string;
                        accounts?: {
                            __typename?: "Account";
                            id: string;
                            displayName?: string;
                        }[];
                    };
                };
                user?: {
                    __typename?: "User";
                    id: string;
                    firstName?: string;
                    lastName?: string;
                    fullName?: string;
                    email?: string;
                    accounts?: {
                        __typename?: "Account";
                        id: string;
                        displayName?: string;
                    }[];
                };
            };
        }[];
        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").EmailListQuery, import("../API").Exact<{
        filter?: import("../API").EmailDeepFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").EmailSort | import("../API").EmailSort[];
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").EmailListQuery, import("../API").Exact<{
            filter?: import("../API").EmailDeepFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").EmailSort | import("../API").EmailSort[];
        }>>;
        data: import("../API").EmailListQuery;
        previousData?: import("../API").EmailListQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            filter?: import("../API").EmailDeepFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").EmailSort | import("../API").EmailSort[];
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").EmailListQuery, TSubscriptionVariables = import("../API").Exact<{
            filter?: import("../API").EmailDeepFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").EmailSort | import("../API").EmailSort[];
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").EmailListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            filter?: import("../API").EmailDeepFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").EmailSort | import("../API").EmailSort[];
        }>>(mapFn: (previousQueryResult: import("../API").EmailListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").EmailListQuery>, "variables">) => import("../API").EmailListQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter?: import("../API").EmailDeepFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").EmailSort | import("../API").EmailSort[];
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").EmailListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter?: import("../API").EmailDeepFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").EmailSort | import("../API").EmailSort[];
        }>, import("../API").EmailListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").EmailListQuery>>;
        fetchMore: <TFetchData = import("../API").EmailListQuery, TFetchVars = import("../API").Exact<{
            filter?: import("../API").EmailDeepFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").EmailSort | import("../API").EmailSort[];
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").EmailListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").EmailListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
}
