import Entity from '../../Core/Entity';
import { DeliveryProviderResponse, FleetInterface, FleetType, 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> {
    constructor(session: Session);
    getProviders(payload: GetDeliveryCatalogPayload): Promise<GetDeliveryCatalogResponse[]>;
    getFilters(): Promise<string[]>;
    getFiltersDetails(payload: {
        filter_name: string;
    }): Promise<GetFilterDetailsResponse>;
    toggleFavorites(payload: GetFavouritesPayload): Promise<void>;
    sendEmailNotification(payload: SendNotificationPayload): Promise<SendNotificationResponse>;
    getFleetById(payload: {
        id: number;
    }): Promise<FleetInterface>;
    getFleetValidationRules(queryString: {
        fleetType: FleetType;
    }): Promise<unknown>;
    getFleetMappingRules(queryString: {
        fleetType: FleetType;
    }): Promise<unknown>;
    getDeliveryById(payload: {
        id: number;
    }): Promise<DeliveryProviderResponse>;
    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>;
}
