import { Model } from 'sequelize-typescript';
import { MAccountBlocklist, MAccountBlocklistAccounts, MAccountBlocklistFormattable } from '../../types/models';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { AccountBlock } from '../../../shared/models';
import { AccountModel } from './account';
export declare class AccountBlocklistModel extends Model<Partial<AttributesOnly<AccountBlocklistModel>>> {
    createdAt: Date;
    updatedAt: Date;
    accountId: number;
    ByAccount: AccountModel;
    targetAccountId: number;
    BlockedAccount: AccountModel;
    static isAccountMutedByAccounts(accountIds: number[], targetAccountId: number): Promise<{
        [accountId: number]: boolean;
    }>;
    static loadByAccountAndTarget(accountId: number, targetAccountId: number): Promise<MAccountBlocklist>;
    static listForApi(parameters: {
        start: number;
        count: number;
        sort: string;
        search?: string;
        accountId: number;
    }): Promise<{
        total: number;
        data: MAccountBlocklistAccounts[];
    }>;
    static listHandlesBlockedBy(accountIds: number[]): Promise<string[]>;
    static getBlockStatus(byAccountIds: number[], handles: string[]): Promise<{
        name: string;
        host: string;
        accountId: number;
    }[]>;
    toFormattedJSON(this: MAccountBlocklistFormattable): AccountBlock;
}
//# sourceMappingURL=account-blocklist.d.ts.map