import { AbusePredefinedReasonsString } from '../../moderation/abuse/abuse-reason.model';
export interface ActivityIdentifierObject {
    identifier: string;
    name: string;
    url?: string;
}
export interface ActivityIconObject {
    type: 'Image';
    url: string;
    mediaType: string;
    width?: number;
    height?: number;
}
export declare type ActivityVideoUrlObject = {
    type: 'Link';
    mediaType: 'video/mp4' | 'video/webm' | 'video/ogg';
    href: string;
    height: number;
    size: number;
    fps: number;
};
export declare type ActivityPlaylistSegmentHashesObject = {
    type: 'Link';
    name: 'sha256';
    mediaType: 'application/json';
    href: string;
};
export declare type ActivityVideoFileMetadataUrlObject = {
    type: 'Link';
    rel: ['metadata', any];
    mediaType: 'application/json';
    height: number;
    href: string;
    fps: number;
};
export declare type ActivityTrackerUrlObject = {
    type: 'Link';
    rel: ['tracker', 'websocket' | 'http'];
    name: string;
    href: string;
};
export declare type ActivityStreamingPlaylistInfohashesObject = {
    type: 'Infohash';
    name: string;
};
export declare type ActivityPlaylistUrlObject = {
    type: 'Link';
    mediaType: 'application/x-mpegURL';
    href: string;
    tag?: ActivityTagObject[];
};
export declare type ActivityBitTorrentUrlObject = {
    type: 'Link';
    mediaType: 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet';
    href: string;
    height: number;
};
export declare type ActivityMagnetUrlObject = {
    type: 'Link';
    mediaType: 'application/x-bittorrent;x-scheme-handler/magnet';
    href: string;
    height: number;
};
export declare type ActivityHtmlUrlObject = {
    type: 'Link';
    mediaType: 'text/html';
    href: string;
};
export interface ActivityHashTagObject {
    type: 'Hashtag';
    href?: string;
    name: string;
}
export interface ActivityMentionObject {
    type: 'Mention';
    href?: string;
    name: string;
}
export interface ActivityFlagReasonObject {
    type: 'Hashtag';
    name: AbusePredefinedReasonsString;
}
export declare type ActivityTagObject = ActivityPlaylistSegmentHashesObject | ActivityStreamingPlaylistInfohashesObject | ActivityVideoUrlObject | ActivityHashTagObject | ActivityMentionObject | ActivityBitTorrentUrlObject | ActivityMagnetUrlObject | ActivityVideoFileMetadataUrlObject;
export declare type ActivityUrlObject = ActivityVideoUrlObject | ActivityPlaylistUrlObject | ActivityBitTorrentUrlObject | ActivityMagnetUrlObject | ActivityHtmlUrlObject | ActivityVideoFileMetadataUrlObject | ActivityTrackerUrlObject;
export interface ActivityPubAttributedTo {
    type: 'Group' | 'Person';
    id: string;
}
export interface ActivityTombstoneObject {
    '@context'?: any;
    id: string;
    url?: string;
    type: 'Tombstone';
    name?: string;
    formerType?: string;
    inReplyTo?: string;
    published: string;
    updated: string;
    deleted: string;
}
//# sourceMappingURL=common-objects.d.ts.map