import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { FormMasterService } from '@colijnit/corecomponents_v12';
import { Marketing } from '@colijnit/transactionapi/build/model/marketing.bo';
import { DeliveryMethod } from '@colijnit/transactionapi/build/model/delivery-method.bo';
import { DeliveryOption } from '@colijnit/transactionapi/build/model/delivery-option.bo';
import { TransactionService } from '../../../service/transaction.service';
import { TextValueContainer } from '../../../model/text-value-container';
import { DictionaryService } from '../../../service/dictionary.service';
import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
import { Icon } from '../../../enum/icon.enum';
import { IconCacheService } from '../../../service/icon-cache.service';
import { Address } from '@colijnit/relationapi/build/model/address.bo';
import { GenderType } from '@colijnit/relationapi/build/enum/gender-type.enum';
import { CheckoutCfgName } from '../../../enum/checkout-cfg-name.enum';
import { TransactionScreenConfigurationService } from '../../../service/transaction-screen-configuration.service';
import { TransactionConnectorService } from "../../../service/transaction-connector.service";
export declare class CheckoutOverviewDeliveryEditComponent implements OnInit, OnDestroy {
    private _dictionaryService;
    private _formMasterService;
    private _screenConfigService;
    private _transactionConnectorService;
    service: TransactionService;
    iconService: IconCacheService;
    readonly cfgNames: typeof CheckoutCfgName;
    readonly icons: typeof Icon;
    set viewChildren(children: any);
    transaction: TransactionInfoResponse;
    validSubmit: EventEmitter<void>;
    invalidSubmit: EventEmitter<void>;
    showClass(): boolean;
    deliveryOptionList: DeliveryOption[];
    deliveryOptions: DeliveryOption[];
    deliveryOptionFields: TextValueContainer;
    deliveryMethods: DeliveryMethod[];
    deliveryMethodFields: TextValueContainer;
    deliveryTypeIdx: number;
    currentDeliveryMethod: DeliveryMethod;
    changeLocationPopup: boolean;
    transactionDefinitive: boolean;
    newAddress: Address;
    preferredDateOptions: TextValueContainer[];
    addressToEdit: Address;
    preferredDate: Date;
    gender: GenderType;
    marketing: Marketing[];
    marketingFields: Object;
    marketingCode: string;
    assemblyCosts: number;
    deliveryCosts: number;
    deliveryDateFinal: boolean;
    assemblyDate: Date;
    totalAssemblyTime: string;
    dropshipment: boolean;
    showDownPayment: boolean;
    showOrderData: boolean;
    showOrderParameters: boolean;
    firstDayOfWeek: string;
    get deliveryDate(): Date;
    set deliveryDate(value: Date);
    private _subs;
    constructor(_dictionaryService: DictionaryService, _formMasterService: FormMasterService, _screenConfigService: TransactionScreenConfigurationService, _transactionConnectorService: TransactionConnectorService, service: TransactionService, iconService: IconCacheService);
    ngOnInit(): Promise<void>;
    ngOnDestroy(): void;
    submit(): boolean;
    selectDeliveryOptionsByDeliveryMethod(deliveryMethod: DeliveryMethod): DeliveryOption[];
    private calculateDeliveryCosts;
    private calculateAssemblyCosts;
}
