import { Component, FormEvent, ReactNode } from 'react';
import { IAbode } from '../Abode';
import { ICheckbox } from '../Checkbox/types';
import { IRadioStack } from '../RadioStack/types';
interface ShippingTitles {
    distribution: {
        home: string;
        personal: string;
    };
    address: {
        forename: string;
        surname: string;
        company: string;
        vat: string;
        street: string;
        streetNo: string;
        postcode: string;
        city: string;
        country: string;
    };
    terms: string;
    data: string;
}
interface IShipping {
}
export interface ShippingProps extends IShipping {
    titles: ShippingTitles;
    onFormSubmit: (data: ShippingState['data']) => void;
}
export interface ShippingState {
    data: {
        distribution: IRadioStack;
        invoicing: IAbode;
        delivery: IAbode;
        terms: ICheckbox;
        data: ICheckbox;
    };
    valid: boolean;
}
export declare class Shipping extends Component<ShippingProps, ShippingState> implements IShipping {
    state: ShippingState;
    constructor(props: ShippingProps);
    handleChange: (field: "data" | "distribution" | "terms") => (event: FormEvent<HTMLInputElement | HTMLSelectElement>) => void;
    handleGroupChange: (group: "invoicing" | "delivery") => (field: "street" | "streetNo" | "postcode" | "cities" | "countries" | "company" | "vat" | "forname" | "surname") => (event: FormEvent<HTMLInputElement | HTMLSelectElement>) => void;
    handleSubmit: (e: FormEvent<HTMLFormElement>) => void;
    handleValidGroupFieldChange: (group: "invoicing" | "delivery") => (field: "street" | "streetNo" | "postcode" | "cities" | "countries" | "company" | "vat" | "forname" | "surname") => (valid: boolean) => void;
    render(): ReactNode;
}
export {};
//# sourceMappingURL=container.d.ts.map