import { WalletDTO, KeyReferenceDTO, IdReferenceDTO, CustomField, MoneyDTO, WalletDTOStatusEnum } from '@sentecacommerce/sdk';
import { QueryResult, MutationResultPair } from 'react-query';
declare type UseRequestData = {
    version?: number;
    type: KeyReferenceDTO;
    owners?: IdReferenceDTO[];
    availableAmount?: MoneyDTO;
    lastKnownAvailableAmount?: MoneyDTO;
    custom?: CustomField[];
};
declare type UseAddData = {
    version?: number;
    type: KeyReferenceDTO;
    owners?: IdReferenceDTO[];
    key?: string;
    availableAmount?: MoneyDTO;
    lastKnownAvailableAmount?: MoneyDTO;
    custom?: CustomField[];
};
declare type VouchersApiType = {
    readonly useGetByType: (type: string) => QueryResult<WalletDTO, unknown>;
    readonly useRequest: (data: {
        onSuccess?: () => void;
    }) => MutationResultPair<WalletDTO, unknown, UseRequestData, unknown>;
    readonly useAdd: (data: {
        onSuccess?: () => void;
    }) => MutationResultPair<WalletDTO, unknown, UseAddData, unknown>;
    readonly cacheKeys: {
        useGetByType: string;
    };
};
export declare const WalletApiFactory: {
    getInstance: () => VouchersApiType;
};
export declare const walletApi: VouchersApiType;
export { WalletDTO, WalletDTOStatusEnum };
