import { Observable } from 'rxjs';
import { CartService } from '../cart.service';
import { Constants } from '../../core.consts';
import { CheckoutProcessState } from '../../classes/checkout-process-state';
import { ShipmentDataTransformer } from '../../utils/shipment-transformer.service';
import { ConnectionService } from '../../api/connection.service';
import { StoresService } from '../stores.service';
import { CheckoutService } from './checkout.service';
import { StepService } from '../../classes/checkout/step-service';
import { AnalyticsService } from '../analytics.service';
export declare class ShipmentService extends StepService {
    private connection;
    private transformer;
    private analyticsService;
    private consts;
    private cartService;
    private storesService;
    private checkoutService;
    private stateSubject;
    private methodsSubject;
    private costsSubject;
    private subscription;
    order: any;
    private baseApi;
    state: Observable<CheckoutProcessState>;
    methods: Observable<any>;
    costs: Observable<any>;
    shipmentMethodsApi: () => string;
    persistShipmentApi: () => string;
    putShipmentApi: () => string;
    putContractApi: () => string;
    calculatedCostsApi: () => string;
    constructor(connection: ConnectionService, transformer: ShipmentDataTransformer, analyticsService: AnalyticsService, consts: Constants, cartService: CartService, storesService: StoresService, checkoutService: CheckoutService);
    getShipmentMethods: () => void;
    setMethod: (method: any) => Promise<void>;
    private putShipment;
    getCalculatedCosts: () => Promise<any>;
    setContract: (contract: any) => Promise<unknown>;
    ngOnDestroy(): void;
    /**
     * @param response De api de solicitud de costos por metodo de envío seleccionado
     * @param post_code Indicado en el paso de Addressing (datos personales y de facturación)
     * @param method Metodo de envío seleccionado
     */
    modifyCostsResponse: (response: any, post_code: any, method: any) => Promise<void>;
    responseToList: (response: any) => any[];
    otherParamsForContract: (contract: any) => {
        shipping_method_contract: any;
        shipping_method_branch_code: any;
    };
    getBranchOffices: (method: any) => Promise<any>;
    formatUnnecesaryDocument: (data: any) => any;
}
