import { VariablesOf } from '@graphql-typed-document-node/core';
import { IntegrationDocument, IntegrationDocumentUpdateOneDocument, SetIntegrationInstancesOnIntegrationDocumentDocument, SourceOfData } from '../API';
import { CRUDService, ICrudService, ModelRelationsInput, ServiceMutationHookOptions } from '../core';
type UpdateDocument = typeof IntegrationDocumentUpdateOneDocument;
export declare class IntegrationDocumentService extends CRUDService<IntegrationDocument> {
    protected hasOneModels: ICrudService<IntegrationDocument>['hasOneModels'];
    protected hasManyModels: ICrudService<IntegrationDocument>['hasManyModels'];
    setIntegrationInstancesOnIntegrationDocument: (options?: ServiceMutationHookOptions<typeof SetIntegrationInstancesOnIntegrationDocumentDocument>) => import("@apollo/client").MutationTuple<import("../API").SetIntegrationInstancesOnIntegrationDocumentMutation, import("../API").Exact<{
        input: import("../API").SetIntegrationInstancesOnIntegrationDocumentInput;
    }>, import("@apollo/client").DefaultContext, import("@apollo/client").ApolloCache<any>>;
    get create(): (input: Partial<Record<"automations" | "triggerURLs" | "messageChannels" | "integrationInstances" | "trayInstances" | "filters" | "configVariables", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<IntegrationDocument>, import("../../..").ModelWithId>> & Omit<import("../API").IntegrationDocumentInput, "automations" | "triggerURLs" | "messageChannels" | "integrationInstances" | "trayInstances" | "filters" | "configVariables" | import("../core").HasOneRelationsOf<IntegrationDocument>>, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentCreateOneMutation, import("../API").Exact<{
        input: import("../API").IntegrationDocumentInput;
    }>>>) => Promise<{
        __typename?: "IntegrationDocument";
        id: string;
        organizationID: string;
        name: string;
        authenticated: boolean;
        enabled: boolean;
        category?: import("../API").IntegrationCategory;
        slackID?: string;
        created_at: any;
        updated_at: any;
        triggerURLs: {
            __typename?: "TriggerURL";
            id: string;
            triggerURL: string;
            name: string;
            solutionInstanceName?: string;
            integrationID: string;
            organizationID: string;
            solutionInstanceID?: string;
            created_at: any;
            updated_at: any;
        }[];
        slack?: {
            __typename?: "SlackDocument";
            id: string;
            organizationID: string;
            accessToken: string;
            workspaceID: string;
            created_at: any;
            updated_at: any;
        };
        messageChannels: {
            __typename?: "MessageChannel";
            channelID?: string;
            enabled?: boolean;
            id: string;
            inboxID: string;
            integrationID: string;
            name: string;
            organizationID: string;
            testedAt?: any;
            webhook?: string;
            created_at: any;
            updated_at: any;
        }[];
        integrationInstances: {
            __typename?: "IntegrationInstance";
            id: string;
            name: string;
            authenticated?: boolean;
            created_at: any;
            enabled?: boolean;
            integrationDocumentID?: string;
            organizationID?: string;
            updated_at: any;
            subdomain?: string;
            product?: {
                __typename?: "Product";
                id: string;
                name: string;
                active: boolean;
                organizationID: string;
                allowedDomains?: string[];
                allowedIPs?: string[];
                apiKeys?: {
                    __typename?: "ApiKey";
                    id: string;
                    name?: string;
                    description?: string;
                    isKeyEnabled?: boolean;
                    organizationID: string;
                    productID: string;
                    apiGateWayGeneratedID?: string;
                    apiKeyValue?: string;
                    updated_at: any;
                    created_at: any;
                }[];
            };
        }[];
        trayInstances: {
            __typename?: "TrayInstance";
            id: string;
            popupURL?: string;
            solutionName?: string;
            solutionId?: string;
            authenticated?: boolean;
            enabled?: boolean;
            organizationID?: string;
            created_at: any;
            updated_at: any;
        }[];
    }>;
    get update(): (input: Omit<ModelRelationsInput<IntegrationDocument>, 'trayInstances'> & VariablesOf<UpdateDocument>['input']['update'] & {
        id: string;
    }, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentUpdateOneMutation, import("../API").Exact<{
        input: import("../API").UpdateOneIntegrationDocumentInput;
    }>>>) => Promise<{
        __typename?: "IntegrationDocument";
        id: string;
        organizationID: string;
        name: string;
        authenticated: boolean;
        enabled: boolean;
        category?: import("../API").IntegrationCategory;
        slackID?: string;
        created_at: any;
        updated_at: any;
        triggerURLs: {
            __typename?: "TriggerURL";
            id: string;
            triggerURL: string;
            name: string;
            solutionInstanceName?: string;
            integrationID: string;
            organizationID: string;
            solutionInstanceID?: string;
            created_at: any;
            updated_at: any;
        }[];
        slack?: {
            __typename?: "SlackDocument";
            id: string;
            organizationID: string;
            accessToken: string;
            workspaceID: string;
            created_at: any;
            updated_at: any;
        };
        messageChannels: {
            __typename?: "MessageChannel";
            channelID?: string;
            enabled?: boolean;
            id: string;
            inboxID: string;
            integrationID: string;
            name: string;
            organizationID: string;
            testedAt?: any;
            webhook?: string;
            created_at: any;
            updated_at: any;
        }[];
        integrationInstances: {
            __typename?: "IntegrationInstance";
            id: string;
            name: string;
            authenticated?: boolean;
            created_at: any;
            enabled?: boolean;
            integrationDocumentID?: string;
            organizationID?: string;
            updated_at: any;
            subdomain?: string;
            product?: {
                __typename?: "Product";
                id: string;
                name: string;
                active: boolean;
                organizationID: string;
                allowedDomains?: string[];
                allowedIPs?: string[];
                apiKeys?: {
                    __typename?: "ApiKey";
                    id: string;
                    name?: string;
                    description?: string;
                    isKeyEnabled?: boolean;
                    organizationID: string;
                    productID: string;
                    apiGateWayGeneratedID?: string;
                    apiKeyValue?: string;
                    updated_at: any;
                    created_at: any;
                }[];
            };
        }[];
        trayInstances: {
            __typename?: "TrayInstance";
            id: string;
            popupURL?: string;
            solutionName?: string;
            solutionId?: string;
            authenticated?: boolean;
            enabled?: boolean;
            organizationID?: string;
            created_at: any;
            updated_at: any;
        }[];
    }>;
    get useUpdate(): (mainOptions?: import("../core").CacheUpdateOptions<ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentUpdateOneMutation, import("../API").Exact<{
        input: import("../API").UpdateOneIntegrationDocumentInput;
    }>>>>) => [({ id, ...input }: Partial<Record<"automations" | "triggerURLs" | "messageChannels" | "integrationInstances" | "trayInstances" | "filters" | "configVariables", import("../../..").ModelWithId[]> & Record<import("../core").HasOneRelationsOf<IntegrationDocument>, import("../../..").ModelWithId>> & import("../API").IntegrationDocumentInput & {
        id: string;
    }, options?: import("../core").CacheUpdateOptions<ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentUpdateOneMutation, import("../API").Exact<{
        input: import("../API").UpdateOneIntegrationDocumentInput;
    }>>>>) => Promise<Record<string, unknown>>, import("@apollo/client").MutationResult<{
        updateOne: Record<string, unknown>;
    }>];
    get delete(): (id: string, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentDeleteOneMutation, import("../API").Exact<{
        input: import("../API").DeleteOneIntegrationDocumentInput;
    }>>>) => Promise<{
        __typename?: "IntegrationDocumentDeleteResponse";
        id?: string;
    }>;
    get useDelete(): (options?: ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentDeleteOneMutation, import("../API").Exact<{
        input: import("../API").DeleteOneIntegrationDocumentInput;
    }>>>) => [(id?: string) => Promise<{
        __typename?: "IntegrationDocumentDeleteResponse";
        id?: string;
    }>, import("@apollo/client").MutationResult<import("../API").IntegrationDocumentDeleteOneMutation>];
    get get(): (id: string, options?: Omit<import("@apollo/client").QueryOptions<import("../API").Exact<{
        id: string;
        trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
    }>, import("../API").IntegrationDocumentGetQuery>, "query">) => Promise<{
        __typename?: "IntegrationDocument";
        id: string;
        organizationID: string;
        name: string;
        authenticated: boolean;
        enabled: boolean;
        category?: import("../API").IntegrationCategory;
        slackID?: string;
        created_at: any;
        updated_at: any;
        trayInstancesList: {
            __typename?: "TrayInstance";
            id: string;
            popupURL?: string;
            solutionName?: string;
            solutionId?: string;
            authenticated?: boolean;
            enabled?: boolean;
            organizationID?: string;
            created_at: any;
            updated_at: any;
        }[];
        triggerURLs: {
            __typename?: "TriggerURL";
            id: string;
            triggerURL: string;
            name: string;
            solutionInstanceName?: string;
            integrationID: string;
            organizationID: string;
            solutionInstanceID?: string;
            created_at: any;
            updated_at: any;
        }[];
        slack?: {
            __typename?: "SlackDocument";
            id: string;
            organizationID: string;
            accessToken: string;
            workspaceID: string;
            created_at: any;
            updated_at: any;
        };
        messageChannels: {
            __typename?: "MessageChannel";
            channelID?: string;
            enabled?: boolean;
            id: string;
            inboxID: string;
            integrationID: string;
            name: string;
            organizationID: string;
            testedAt?: any;
            webhook?: string;
            created_at: any;
            updated_at: any;
        }[];
        integrationInstances: {
            __typename?: "IntegrationInstance";
            id: string;
            name: string;
            authenticated?: boolean;
            created_at: any;
            enabled?: boolean;
            integrationDocumentID?: string;
            organizationID?: string;
            updated_at: any;
            subdomain?: string;
            product?: {
                __typename?: "Product";
                id: string;
                name: string;
                active: boolean;
                organizationID: string;
                allowedDomains?: string[];
                allowedIPs?: string[];
                apiKeys?: {
                    __typename?: "ApiKey";
                    id: string;
                    name?: string;
                    description?: string;
                    isKeyEnabled?: boolean;
                    organizationID: string;
                    productID: string;
                    apiGateWayGeneratedID?: string;
                    apiKeyValue?: string;
                    updated_at: any;
                    created_at: any;
                }[];
            };
        }[];
        trayInstances: {
            __typename?: "TrayInstance";
            id: string;
            popupURL?: string;
            solutionName?: string;
            solutionId?: string;
            authenticated?: boolean;
            enabled?: boolean;
            organizationID?: string;
            created_at: any;
            updated_at: any;
        }[];
    }>;
    get useGet(): (options: import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentGetQuery, import("../API").Exact<{
        id: string;
        trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
    }>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").IntegrationDocumentGetQuery, import("../API").Exact<{
            id: string;
            trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
        }>>;
        data: import("../API").IntegrationDocumentGetQuery;
        previousData?: import("../API").IntegrationDocumentGetQuery;
        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").IntegrationDocumentGetQuery, TSubscriptionVariables extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            id: string;
            trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").IntegrationDocumentGetQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            id: string;
            trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
        }>>(mapFn: (previousQueryResult: import("../API").IntegrationDocumentGetQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").IntegrationDocumentGetQuery>, "variables">) => import("../API").IntegrationDocumentGetQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            id: string;
            trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").IntegrationDocumentGetQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            id: string;
            trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
        }>, import("../API").IntegrationDocumentGetQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").IntegrationDocumentGetQuery>>;
        variables: import("../API").Exact<{
            id: string;
            trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
        }>;
        fetchMore: <TFetchData = import("../API").IntegrationDocumentGetQuery, TFetchVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            id: string;
            trayInstancesSorting?: import("../API").TrayInstanceSort | import("../API").TrayInstanceSort[];
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").IntegrationDocumentGetQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").IntegrationDocumentGetQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get list(): (input: import("../API").Exact<{
        filter?: import("../API").IntegrationDocumentFilter;
        sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
        paging?: import("../API").CursorPaging;
    }>, options?: import("../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentListQuery, import("../API").Exact<{
        filter?: import("../API").IntegrationDocumentFilter;
        sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
        paging?: import("../API").CursorPaging;
    }>>>) => Promise<{
        __typename?: "IntegrationDocumentConnection";
        totalCount: number;
        edges: {
            __typename?: "IntegrationDocumentEdge";
            cursor: any;
            node: {
                __typename?: "IntegrationDocument";
                id: string;
                organizationID: string;
                name: string;
                authenticated: boolean;
                enabled: boolean;
                category?: import("../API").IntegrationCategory;
                slackID?: string;
                created_at: any;
                updated_at: any;
                triggerURLs: {
                    __typename?: "TriggerURL";
                    id: string;
                    triggerURL: string;
                    name: string;
                    solutionInstanceName?: string;
                    integrationID: string;
                    organizationID: string;
                    solutionInstanceID?: string;
                    created_at: any;
                    updated_at: any;
                }[];
                slack?: {
                    __typename?: "SlackDocument";
                    id: string;
                    organizationID: string;
                    accessToken: string;
                    workspaceID: string;
                    created_at: any;
                    updated_at: any;
                };
                messageChannels: {
                    __typename?: "MessageChannel";
                    channelID?: string;
                    enabled?: boolean;
                    id: string;
                    inboxID: string;
                    integrationID: string;
                    name: string;
                    organizationID: string;
                    testedAt?: any;
                    webhook?: string;
                    created_at: any;
                    updated_at: any;
                }[];
                integrationInstances: {
                    __typename?: "IntegrationInstance";
                    id: string;
                    name: string;
                    authenticated?: boolean;
                    created_at: any;
                    enabled?: boolean;
                    integrationDocumentID?: string;
                    organizationID?: string;
                    updated_at: any;
                    subdomain?: string;
                    product?: {
                        __typename?: "Product";
                        id: string;
                        name: string;
                        active: boolean;
                        organizationID: string;
                        allowedDomains?: string[];
                        allowedIPs?: string[];
                        apiKeys?: {
                            __typename?: "ApiKey";
                            id: string;
                            name?: string;
                            description?: string;
                            isKeyEnabled?: boolean;
                            organizationID: string;
                            productID: string;
                            apiGateWayGeneratedID?: string;
                            apiKeyValue?: string;
                            updated_at: any;
                            created_at: any;
                        }[];
                    };
                }[];
                trayInstances: {
                    __typename?: "TrayInstance";
                    id: string;
                    popupURL?: string;
                    solutionName?: string;
                    solutionId?: string;
                    authenticated?: boolean;
                    enabled?: boolean;
                    organizationID?: string;
                    created_at: any;
                    updated_at: any;
                }[];
            };
        }[];
        pageInfo: {
            __typename?: "PageInfo";
            endCursor?: any;
            hasNextPage?: boolean;
            hasPreviousPage?: boolean;
            startCursor?: any;
        };
    }>;
    get useList(): (options: import("../core").CacheUpdateOptions<import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").IntegrationDocumentListQuery, import("../API").Exact<{
        filter?: import("../API").IntegrationDocumentFilter;
        sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
        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").IntegrationDocumentListQuery, import("../API").Exact<{
            filter?: import("../API").IntegrationDocumentFilter;
            sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
            paging?: import("../API").CursorPaging;
        }>>;
        data: import("../API").IntegrationDocumentListQuery;
        previousData?: import("../API").IntegrationDocumentListQuery;
        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").IntegrationDocumentListQuery, TSubscriptionVariables extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            filter?: import("../API").IntegrationDocumentFilter;
            sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
            paging?: import("../API").CursorPaging;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").IntegrationDocumentListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            filter?: import("../API").IntegrationDocumentFilter;
            sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
            paging?: import("../API").CursorPaging;
        }>>(mapFn: (previousQueryResult: import("../API").IntegrationDocumentListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").IntegrationDocumentListQuery>, "variables">) => import("../API").IntegrationDocumentListQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter?: import("../API").IntegrationDocumentFilter;
            sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
            paging?: import("../API").CursorPaging;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").IntegrationDocumentListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter?: import("../API").IntegrationDocumentFilter;
            sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
            paging?: import("../API").CursorPaging;
        }>, import("../API").IntegrationDocumentListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").IntegrationDocumentListQuery>>;
        variables: import("../API").Exact<{
            filter?: import("../API").IntegrationDocumentFilter;
            sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
            paging?: import("../API").CursorPaging;
        }>;
        fetchMore: <TFetchData = import("../API").IntegrationDocumentListQuery, TFetchVars extends import("@apollo/client").OperationVariables = import("../API").Exact<{
            filter?: import("../API").IntegrationDocumentFilter;
            sorting?: import("../API").IntegrationDocumentSort | import("../API").IntegrationDocumentSort[];
            paging?: import("../API").CursorPaging;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").IntegrationDocumentListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").IntegrationDocumentListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get useIntegrations(): () => {
        data: IntegrationDocument[];
        loading: boolean;
        error: import("@apollo/client").ApolloError;
    };
    get useCurrentIntegration(): (currentIntegrationName: SourceOfData) => {
        currentIntegration: IntegrationDocument;
        enabled: boolean;
    };
}
export {};
