import { Transaction } from 'sequelize';
import { ActivityAudience } from '../../../shared/models/activitypub';
import { MActorFollowersUrl, MActorLight, MActorUrl, MCommentOwner, MCommentOwnerVideo, MVideoId } from '../../types/models';
declare function getRemoteVideoAudience(accountActor: MActorUrl, actorsInvolvedInVideo: MActorFollowersUrl[]): ActivityAudience;
declare function getVideoCommentAudience(videoComment: MCommentOwnerVideo, threadParentComments: MCommentOwner[], actorsInvolvedInVideo: MActorFollowersUrl[], isOrigin?: boolean): ActivityAudience;
declare function getAudienceFromFollowersOf(actorsInvolvedInObject: MActorFollowersUrl[]): ActivityAudience;
declare function getActorsInvolvedInVideo(video: MVideoId, t: Transaction): Promise<MActorLight[]>;
declare function getAudience(actorSender: MActorFollowersUrl, isPublic?: boolean): {
    to: string[];
    cc: string[];
};
declare function buildAudience(followerUrls: string[], isPublic?: boolean): {
    to: string[];
    cc: string[];
};
declare function audiencify<T>(object: T, audience: ActivityAudience): T & ActivityAudience;
export { buildAudience, getAudience, getRemoteVideoAudience, getActorsInvolvedInVideo, getAudienceFromFollowersOf, audiencify, getVideoCommentAudience };
//# sourceMappingURL=audience.d.ts.map