import { CustomReportMetric } from '../../API';
import { CRUDService } from '../../core';
export declare class CustomMetricService extends CRUDService<CustomReportMetric> {
    get get(): (id: string, options?: Omit<import("@apollo/client").QueryOptions<import("../../API").Exact<{
        id: string;
    }>, import("../../API").CustomReportMeticGetQuery>, "query">) => Promise<{
        __typename: "CustomReportMetric";
        id: string;
        name: string;
        description?: string;
        isPrivate: boolean;
        isMultipleGraphs: boolean;
        viewerType?: import("../../API").AdminTeamRoles;
        vizState: any;
        vizStateArray: any[];
        organizationID: string;
        measure?: import("../../API").MeasureTypes;
        label?: string;
        created_at: any;
        updated_at: any;
        owners?: {
            __typename?: "Admin";
            id: string;
            firstName?: string;
            lastName?: string;
            email: string;
            avatar?: string;
        }[];
    }>;
    get useGet(): (options: import("../../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMeticGetQuery, 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").CustomReportMeticGetQuery, import("../../API").Exact<{
            id: string;
        }>>;
        data: import("../../API").CustomReportMeticGetQuery;
        previousData?: import("../../API").CustomReportMeticGetQuery;
        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").CustomReportMeticGetQuery, TSubscriptionVariables = import("../../API").Exact<{
            id: string;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../../API").CustomReportMeticGetQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../../API").Exact<{
            id: string;
        }>>(mapFn: (previousQueryResult: import("../../API").CustomReportMeticGetQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../../API").CustomReportMeticGetQuery>, "variables">) => import("../../API").CustomReportMeticGetQuery) => void;
        refetch: (variables?: Partial<import("../../API").Exact<{
            id: string;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../../API").CustomReportMeticGetQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../../API").Exact<{
            id: string;
        }>, import("../../API").CustomReportMeticGetQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../../API").CustomReportMeticGetQuery>>;
        fetchMore: <TFetchData = import("../../API").CustomReportMeticGetQuery, TFetchVars = import("../../API").Exact<{
            id: string;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../../API").CustomReportMeticGetQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../../API").CustomReportMeticGetQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get create(): (input: Partial<Record<"vizStateArray" | "owners" | "reportItems", import("../../../..").ModelWithId[]> & Record<"organization", import("../../../..").ModelWithId>> & Omit<import("../../API").CreateCustomReportMetricInput, "vizStateArray" | "owners" | "organization" | "reportItems">, options?: import("../../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricCreateOneMutation, import("../../API").Exact<{
        input: import("../../API").CreateCustomReportMetricInput;
    }>>>) => Promise<{
        __typename: "CustomReportMetric";
        id: string;
        name: string;
        description?: string;
        isPrivate: boolean;
        isMultipleGraphs: boolean;
        viewerType?: import("../../API").AdminTeamRoles;
        vizState: any;
        vizStateArray: any[];
        organizationID: string;
        measure?: import("../../API").MeasureTypes;
        label?: string;
        created_at: any;
        updated_at: any;
        owners?: {
            __typename?: "Admin";
            id: string;
            firstName?: string;
            lastName?: string;
            email: string;
            avatar?: string;
        }[];
    }>;
    get useCreate(): (options?: import("../../core").CacheUpdateOptions<import("../../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricCreateOneMutation, import("../../API").Exact<{
        input: import("../../API").CreateCustomReportMetricInput;
    }>>>>) => [(payload: import("../../core").InputAndRelations<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricCreateOneMutation, import("../../API").Exact<{
        input: import("../../API").CreateCustomReportMetricInput;
    }>>, CustomReportMetric>) => Promise<{
        __typename: "CustomReportMetric";
        id: string;
        name: string;
        description?: string;
        isPrivate: boolean;
        isMultipleGraphs: boolean;
        viewerType?: import("../../API").AdminTeamRoles;
        vizState: any;
        vizStateArray: any[];
        organizationID: string;
        measure?: import("../../API").MeasureTypes;
        label?: string;
        created_at: any;
        updated_at: any;
        owners?: {
            __typename?: "Admin";
            id: string;
            firstName?: string;
            lastName?: string;
            email: string;
            avatar?: string;
        }[];
    }>, import("@apollo/client").MutationResult<any>];
    get delete(): (id: string, options?: import("../../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricDeleteOneMutation, import("../../API").Exact<{
        input: import("../../API").DeleteOneInput;
    }>>>) => Promise<{
        __typename?: "CustomReportMetric";
        id: string;
    }>;
    get useDelete(): (options?: import("../../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricDeleteOneMutation, import("../../API").Exact<{
        input: import("../../API").DeleteOneInput;
    }>>>) => [(id?: string) => Promise<{
        __typename?: "CustomReportMetric";
        id: string;
    }>, import("@apollo/client").MutationResult<import("../../API").CustomReportMetricDeleteOneMutation>];
    get update(): (input: Partial<Record<"vizStateArray" | "owners" | "reportItems", import("../../../..").ModelWithId[]> & Record<"organization", import("../../../..").ModelWithId>> & Omit<import("../../API").UpdateCustomReportMetric, "vizStateArray" | "owners" | "organization" | "reportItems"> & {
        id: string;
    }, options?: import("../../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricUpdateOneMutation, import("../../API").Exact<{
        input: import("../../API").UpdateCustomReportMetricInput;
    }>>>) => Promise<{
        __typename: "CustomReportMetric";
        id: string;
        name: string;
        description?: string;
        isPrivate: boolean;
        isMultipleGraphs: boolean;
        viewerType?: import("../../API").AdminTeamRoles;
        vizState: any;
        vizStateArray: any[];
        organizationID: string;
        measure?: import("../../API").MeasureTypes;
        label?: string;
        created_at: any;
        updated_at: any;
        owners?: {
            __typename?: "Admin";
            id: string;
            firstName?: string;
            lastName?: string;
            email: string;
            avatar?: string;
        }[];
    }>;
    get useUpdate(): (mainOptions?: import("../../core").CacheUpdateOptions<import("../../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricUpdateOneMutation, import("../../API").Exact<{
        input: import("../../API").UpdateCustomReportMetricInput;
    }>>>>) => [({ id, ...input }: Partial<Record<"vizStateArray" | "owners" | "reportItems", import("../../../..").ModelWithId[]> & Record<"organization", import("../../../..").ModelWithId>> & import("../../API").UpdateCustomReportMetric & {
        id: string;
    }, options?: import("../../core").CacheUpdateOptions<import("../../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricUpdateOneMutation, import("../../API").Exact<{
        input: import("../../API").UpdateCustomReportMetricInput;
    }>>>>) => Promise<any>, import("@apollo/client").MutationResult<any>];
    get list(): (input: import("../../API").Exact<{
        filter?: import("../../API").CustomReportMetricFilter;
        paging?: import("../../API").CursorPaging;
        sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
    }>, options?: import("../../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../../API").CustomReportMetricsListQuery, import("../../API").Exact<{
        filter?: import("../../API").CustomReportMetricFilter;
        paging?: import("../../API").CursorPaging;
        sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
    }>>>) => Promise<{
        __typename?: "CustomReportMetricConnection";
        totalCount: number;
        edges: {
            __typename?: "CustomReportMetricEdge";
            node: {
                __typename: "CustomReportMetric";
                id: string;
                name: string;
                description?: string;
                isPrivate: boolean;
                isMultipleGraphs: boolean;
                viewerType?: import("../../API").AdminTeamRoles;
                vizState: any;
                vizStateArray: any[];
                organizationID: string;
                measure?: import("../../API").MeasureTypes;
                label?: string;
                created_at: any;
                updated_at: any;
                owners?: {
                    __typename?: "Admin";
                    id: string;
                    firstName?: string;
                    lastName?: string;
                    email: string;
                    avatar?: 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").CustomReportMetricsListQuery, import("../../API").Exact<{
        filter?: import("../../API").CustomReportMetricFilter;
        paging?: import("../../API").CursorPaging;
        sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../../API").CustomReportMetricsListQuery, import("../../API").Exact<{
            filter?: import("../../API").CustomReportMetricFilter;
            paging?: import("../../API").CursorPaging;
            sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
        }>>;
        data: import("../../API").CustomReportMetricsListQuery;
        previousData?: import("../../API").CustomReportMetricsListQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../../API").Exact<{
            filter?: import("../../API").CustomReportMetricFilter;
            paging?: import("../../API").CursorPaging;
            sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../../API").CustomReportMetricsListQuery, TSubscriptionVariables = import("../../API").Exact<{
            filter?: import("../../API").CustomReportMetricFilter;
            paging?: import("../../API").CursorPaging;
            sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../../API").CustomReportMetricsListQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../../API").Exact<{
            filter?: import("../../API").CustomReportMetricFilter;
            paging?: import("../../API").CursorPaging;
            sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
        }>>(mapFn: (previousQueryResult: import("../../API").CustomReportMetricsListQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../../API").CustomReportMetricsListQuery>, "variables">) => import("../../API").CustomReportMetricsListQuery) => void;
        refetch: (variables?: Partial<import("../../API").Exact<{
            filter?: import("../../API").CustomReportMetricFilter;
            paging?: import("../../API").CursorPaging;
            sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../../API").CustomReportMetricsListQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../../API").Exact<{
            filter?: import("../../API").CustomReportMetricFilter;
            paging?: import("../../API").CursorPaging;
            sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
        }>, import("../../API").CustomReportMetricsListQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../../API").CustomReportMetricsListQuery>>;
        fetchMore: <TFetchData = import("../../API").CustomReportMetricsListQuery, TFetchVars = import("../../API").Exact<{
            filter?: import("../../API").CustomReportMetricFilter;
            paging?: import("../../API").CursorPaging;
            sorting?: import("../../API").CustomReportMetricSort | import("../../API").CustomReportMetricSort[];
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../../API").CustomReportMetricsListQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../../API").CustomReportMetricsListQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
}
