import Entity from '../../Core/Entity';
import { FleetInterface, GetDeliveryCatalogPayload, GetDeliveryCatalogResponse, GetFavouritesPayload, GetFilterDetailsResponse, MerchantConnectionsCreateControllerRequest, MerchantConnectionsCreateControllerResponse, MerchantConnectionsListResponse, MerchantConnectionsUpdateControllerRequest, MerchantConnectionsUpdateControllerResponse, MerchantConnectionsVerifyRequest, MerchantConnectionsVerifyResponse, MerchantsConnectionsPauseControllerRequest, MerchantsConnectionsPauseControllerResponse, SendNotificationPayload, SendNotificationResponse } from '../DeliveryCatalog.consts';
import Session from './../../Services/Identity/Session';
export default class DeliveryCatalogEntity extends Entity<DeliveryCatalogEntity> {
    private deliveryCatalogGEService;
    constructor(session: Session);
    /** START General-ENV routes */
    getProviders(payload: GetDeliveryCatalogPayload): Promise<GetDeliveryCatalogResponse[]>;
    getDeliveryById(payload: {
        id: number;
        destination_uuid: string;
    }): Promise<GetDeliveryCatalogResponse>;
    getFilters(): Promise<string[]>;
    getFiltersDetails(payload: {
        filter_name: string;
    }): Promise<GetFilterDetailsResponse>;
    /** END General-ENV routes */
    /** Multi-ENV routes */
    toggleFavorites(payload: GetFavouritesPayload): Promise<void>;
    getUsersFavorites(): Promise<number[]>;
    sendEmailNotification(payload: SendNotificationPayload): Promise<SendNotificationResponse>;
    getFleetById(payload: {
        id: number;
    }): Promise<FleetInterface>;
    getMerchantConnectionsList(): Promise<MerchantConnectionsListResponse>;
    createMerchantConnection(payload: MerchantConnectionsCreateControllerRequest): Promise<MerchantConnectionsCreateControllerResponse>;
    updateMerchantConnection(payload: MerchantConnectionsUpdateControllerRequest): Promise<MerchantConnectionsUpdateControllerResponse>;
    deleteMerchantConnection(payload: {
        ids: number[];
    }): Promise<{
        deleted: number[];
    }>;
    verifyMerchantConnectionCredentials(payload: MerchantConnectionsVerifyRequest): Promise<MerchantConnectionsVerifyResponse>;
    pauseMerchantConnection(payload: MerchantsConnectionsPauseControllerRequest): Promise<MerchantsConnectionsPauseControllerResponse>;
}
