import { Transaction } from 'sequelize';
import { ContextType } from '../../../../shared/models/activitypub/context';
import { Activity, ActivityAudience } from '../../../../shared/models/activitypub';
import { MActor, MActorId, MActorLight, MActorWithInboxes, MVideoAccountLight, MVideoId, MVideoImmutable } from '../../../types/models';
declare function sendVideoRelatedActivity(activityBuilder: (audience: ActivityAudience) => Activity, options: {
    byActor: MActorLight;
    video: MVideoImmutable | MVideoAccountLight;
    transaction?: Transaction;
    contextType?: ContextType;
}): Promise<any>;
declare function forwardVideoRelatedActivity(activity: Activity, t: Transaction, followersException: MActorWithInboxes[], video: MVideoId): Promise<any>;
declare function forwardActivity(activity: Activity, t: Transaction, followersException?: MActorWithInboxes[], additionalFollowerUrls?: string[]): Promise<any>;
declare function broadcastToFollowers(data: any, byActor: MActorId, toFollowersOf: MActorId[], t: Transaction, actorsException?: MActorWithInboxes[], contextType?: ContextType): Promise<any>;
declare function broadcastToActors(data: any, byActor: MActorId, toActors: MActor[], t?: Transaction, actorsException?: MActorWithInboxes[], contextType?: ContextType): Promise<any>;
declare function unicastTo(data: any, byActor: MActorId, toActorUrl: string, contextType?: ContextType): void;
export { broadcastToFollowers, unicastTo, forwardActivity, broadcastToActors, forwardVideoRelatedActivity, sendVideoRelatedActivity };
//# sourceMappingURL=utils.d.ts.map