import { OnInit } from '@angular/core';
import { ConnectionService } from '../../api/connection.service';
import { CartService } from '../cart.service';
import { Constants } from '../../core.consts';
import { StepI, StepTypeI } from '../../interfaces/step';
import { Step } from '../../classes/checkout/step';
import { CheckoutData } from '../../interfaces/checkout-data';
import { OrderUtilityService } from '../../utils/order-util.service';
import { AnalyticsService } from '../analytics.service';
import { AuthService } from '../auth.service';
import { ErrorHandlerService } from './error-handler.service';
import { Router } from '@angular/router';
import { ToastService } from '../../utils/toast.service';
export declare class CheckoutService implements OnInit {
    private connection;
    private cartService;
    private consts;
    private toastrService;
    private orderUtils;
    private analyticsService;
    authService: AuthService;
    private router;
    private errorHandler;
    baseApi: () => string;
    getPaymentMethodsApi: () => string;
    putAddressApi: () => string;
    putPaymentApi: (method: any) => string;
    completeApi: () => string;
    persistShipmentApi: () => string;
    getPreferenceApi: () => string;
    getHasPurchaseConditions: () => string;
    private canCheckoutSubject;
    private onReadySubject;
    private stateSubject;
    private loadingSubject;
    private orderSubject;
    private asociatedDataSubject;
    private order;
    private checkout_data;
    total: any;
    private cartLocal;
    private user;
    order$: import("rxjs").Observable<any>;
    state$: import("rxjs").Observable<Step[]>;
    loading$: import("rxjs").Observable<boolean>;
    canCheckout$: import("rxjs").Observable<boolean>;
    asociatedData$: import("rxjs").Observable<CheckoutData[]>;
    onReady$: import("rxjs").Observable<boolean>;
    constructor(connection: ConnectionService, cartService: CartService, consts: Constants, toastrService: ToastService, orderUtils: OrderUtilityService, analyticsService: AnalyticsService, authService: AuthService, router: Router, errorHandler: ErrorHandlerService);
    ngOnInit(): void;
    updateOrder: (order: any) => void;
    getStepData: (step_name: StepTypeI) => any;
    setSteps: (steps: StepI[], autohandle?: boolean) => void;
    setStepReady: (step_number: any, data: any, order?: any) => Promise<boolean>;
    setStepDoing: (step_number: any) => Promise<boolean>;
    restartAllStepsFrom: (step_number: any, included?: boolean, update?: boolean) => Step[];
    isCheckoutReady: () => boolean;
    isStepReady: (step_name: any) => any;
    setOrder: (order: any) => void;
    getOrder: () => any;
    private completeOrder;
    complete: () => Promise<{
        ok: boolean;
        require_login: boolean;
        message: string;
    }>;
    updateAsociatedData: (cart: any) => void;
    restartCheckout: () => void;
}
