import { Gender, RecipientCategory } from '../../Constants';
import { Model } from '../Model';
export interface IRecipient {
    [key: string]: any;
}
export interface IPerson extends IRecipient {
    category: RecipientCategory.PERSON;
    gender: string | Gender;
    culture: string;
    careOf?: string;
    title?: string;
    initials?: string;
    firstName: string;
    lastName?: string;
    lastNamePrefix?: string;
    birthDate: string;
    placeOfBirth: string;
}
export interface ICompany extends IRecipient {
    category: RecipientCategory.COMPANY;
    companyName: string;
    culture: string;
    vatApplicable: boolean;
    vatNumber: string;
    chamberOfCommerce: string;
}
export declare class Recipient extends Model implements IRecipient {
    set birthDate(value: string);
    set careOf(value: string);
    set category(value: RecipientCategory);
    set culture(value: string);
    set firstName(value: string);
    set gender(value: string);
    set initials(value: string);
    set lastName(value: string);
    set lastNamePrefix(value: string);
    set placeOfBirth(value: string);
    set title(value: string);
}
export declare class Person extends Recipient implements IPerson {
    constructor(data: Partial<IPerson>);
    set name(value: string);
    set category(value: RecipientCategory.PERSON);
}
export declare class Company extends Recipient implements ICompany {
    constructor(data: Partial<ICompany>);
    set category(value: RecipientCategory.COMPANY);
    set chamberOfCommerce(value: string);
    set companyName(value: string);
    set culture(value: string);
    set vatApplicable(value: boolean);
    set vatNumber(value: string);
}
