import { IAddress, IArticle, ICompany, IPaymentRequest, IPerson, IPhone, ServiceParameter } from '../../../Models';
import { RecipientCategory } from '../../../Constants';
import { ISubtotal } from './Subtotal';
export interface IPay extends IPaymentRequest {
    description: string;
    clientIP: string;
    customerType: RecipientCategory.PERSON | RecipientCategory.COMPANY;
    invoiceDate: string;
    email: string;
    phone: Partial<IPhone>;
    company: Partial<ICompany>;
    customer: Partial<IPerson>;
    address: Partial<IAddress>;
    articles: Partial<IArticle>[];
    subtotals: ISubtotal[];
}
export declare class Pay extends ServiceParameter {
    set customerType(value: RecipientCategory);
    set invoiceDate(value: string);
    set email(value: string);
    set phone(value: Partial<IPhone>);
    set company(value: Partial<ICompany>);
    set customer(value: Partial<IPerson>);
    set address(value: Partial<IAddress>);
    set articles(value: Partial<IArticle>[]);
    set subtotals(value: ISubtotal[]);
    protected getGroups(): {
        [key: Capitalize<string>]: Capitalize<string>;
    };
    protected getCountable(): Capitalize<string>[];
}
