import { CustomerConsentDTO, CustomerConsentTypeDTO, CustomerConsentTypeFilterResultDTO, CustomerConsentRequestBulkDTO } from '@sentecacommerce/sdk';
import { MutationResultPair, QueryResult } from 'react-query';
declare type ConsentMutation = MutationResultPair<CustomerConsentDTO, unknown, {
    consentKey: string;
    email?: string;
}, unknown>;
declare type ConsentsApiType = {
    readonly useGet: () => QueryResult<CustomerConsentDTO[], unknown>;
    readonly useGetAll: () => QueryResult<CustomerConsentTypeFilterResultDTO, unknown>;
    readonly useGetByTag: (tag: string) => QueryResult<CustomerConsentTypeDTO[], unknown>;
    readonly useApprove: ({ onSuccess, }: {
        onSuccess?: () => void;
    }) => ConsentMutation;
    readonly useApproveBulk: ({ onSuccess, }: {
        onSuccess?: () => void;
    }) => MutationResultPair<CustomerConsentDTO[], unknown, CustomerConsentRequestBulkDTO, () => void>;
    readonly useReject: ({ onSuccess, }: {
        onSuccess?: () => void;
    }) => ConsentMutation;
    readonly cacheKeys: {
        useGet: string;
        useGetAll: string;
    };
};
export declare const ConsentsApiFactory: {
    getInstance: () => ConsentsApiType;
};
export declare const consentsApi: ConsentsApiType;
export {};
