import { BaseModel } from './base-model';
import { Address } from './address';
/**
 * Represents a party (supplier, customer, etc.)
 */
export declare class Party extends BaseModel {
    private _name;
    private _taxId;
    private _registrationId;
    private _registrationType;
    private _sstRegistrationNo;
    private _msicCode;
    private _msicDescription;
    private _phone;
    private _email;
    private _address;
    get name(): string;
    set name(value: string);
    get taxId(): string;
    set taxId(value: string);
    get registrationId(): string;
    set registrationId(value: string);
    get registrationType(): string;
    set registrationType(value: string);
    get sstRegistrationNo(): string;
    set sstRegistrationNo(value: string);
    get msicCode(): string;
    set msicCode(value: string);
    get msicDescription(): string;
    set msicDescription(value: string);
    get phone(): string;
    set phone(value: string);
    get email(): string;
    set email(value: string);
    get address(): Address;
    set address(value: Address);
    /**
     * Converts the party to a JSON representation
     * Requires registrationId and registrationType to be set
     * @throws Error if mandatory fields are not provided
     */
    toJSON(): any;
}
