import { LegalHoldPolicyAssignmentBase } from './legalHoldPolicyAssignmentBase';
import { LegalHoldPolicyMini } from './legalHoldPolicyMini';
import { LegalHoldPolicyAssignedItem } from './legalHoldPolicyAssignedItem';
import { UserMini } from './userMini';
import { DateTime } from '../internal/utils';
import { SerializedData } from '../serialization/json';
export type LegalHoldPolicyAssignment = LegalHoldPolicyAssignmentBase & {
    readonly legalHoldPolicy?: LegalHoldPolicyMini;
    readonly assignedTo?: LegalHoldPolicyAssignedItem;
    readonly assignedBy?: UserMini;
    /**
     * When the legal hold policy assignment object was
     * created. */
    readonly assignedAt?: DateTime;
    /**
     * When the assignment release request was sent.
     * (Because it can take time for an assignment to fully
     * delete, this isn't quite the same time that the
     * assignment is fully deleted). If null, Assignment
     * was not deleted. */
    readonly deletedAt?: DateTime;
};
export declare function serializeLegalHoldPolicyAssignment(val: LegalHoldPolicyAssignment): SerializedData;
export declare function deserializeLegalHoldPolicyAssignment(val: SerializedData): LegalHoldPolicyAssignment;
//# sourceMappingURL=legalHoldPolicyAssignment.d.ts.map