import { IAddress, ICompany, IDebtor, IPerson, IPhone, IRequest, ServiceParameter } from '../../../Models';
import { ICreditArticle } from './Article';
export interface IInvoice extends IRequest {
    invoiceAmount: number;
    invoiceAmountVAT?: number;
    invoiceDate: string;
    dueDate: string;
    schemeKey?: string;
    maxStepIndex?: number;
    allowedServices?: string;
    allowedServicesAfterDueDate?: string;
    code?: string;
    person: Partial<IPerson>;
    company: Partial<ICompany>;
    address: Partial<IAddress>;
    debtor: IDebtor;
    email?: string;
    phone: IPhone;
    articles?: ICreditArticle[];
    invoiceNumber?: string;
    applyStartRecurrent?: boolean;
}
export declare class Invoice extends ServiceParameter implements IInvoice {
    set invoiceAmount(value: number);
    set invoiceAmountVAT(value: number);
    set invoiceDate(value: string);
    set dueDate(value: string);
    set schemeKey(value: string);
    set maxStepIndex(value: number);
    set allowedServices(value: string);
    set allowedServicesAfterDueDate(value: string);
    set code(value: string);
    set person(value: Partial<IPerson>);
    set company(value: Partial<ICompany>);
    set address(value: Partial<IAddress>);
    set debtor(value: IDebtor);
    set email(value: string);
    set phone(value: IPhone);
    set articles(value: ICreditArticle[]);
    set invoiceNumber(value: string);
    set applyStartRecurrent(value: boolean);
    protected getGroups(): {
        [key: Capitalize<string>]: Capitalize<string>;
    };
    protected getCountable(): Capitalize<string>[];
}
