export interface PlatformConfig {
    [key: string]: any;
}
export declare class ContactCommunicationPlatform {
    readonly id: string;
    contactId: string;
    organizationId: string;
    platform: string;
    platformUserId: string | null;
    platformUsername: string | null;
    isActive: boolean;
    isPrimary: boolean;
    config: PlatformConfig | null;
    createdAt: Date;
    updatedAt: Date;
    constructor(id: string, contactId: string, organizationId: string, platform: string, platformUserId: string | null, platformUsername: string | null, isActive: boolean, isPrimary: boolean, config: PlatformConfig | null, createdAt: Date, updatedAt: Date);
    private validate;
    updatePlatformInfo(platformUserId: string | null, platformUsername: string | null, isActive: boolean, isPrimary: boolean, config: PlatformConfig | null): void;
    activate(): void;
    deactivate(): void;
    setAsPrimary(): void;
    setAsSecondary(): void;
    toJSON(): {
        id: string;
        contactId: string;
        organizationId: string;
        platform: string;
        platformUserId: string | null;
        platformUsername: string | null;
        isActive: boolean;
        isPrimary: boolean;
        config: PlatformConfig | null;
        createdAt: Date;
        updatedAt: Date;
    };
}
//# sourceMappingURL=ContactCommunicationPlatform.d.ts.map