import { Transaction } from 'sequelize';
import { Model } from 'sequelize-typescript';
import { MServer, MServerFormattable } from '../../types/models/server';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { ActorModel } from '../actor/actor';
import { ServerBlocklistModel } from './server-blocklist';
export declare class ServerModel extends Model<Partial<AttributesOnly<ServerModel>>> {
    host: string;
    redundancyAllowed: boolean;
    createdAt: Date;
    updatedAt: Date;
    Actors: ActorModel[];
    BlockedBy: ServerBlocklistModel[];
    static load(id: number, transaction?: Transaction): Promise<MServer>;
    static loadByHost(host: string): Promise<MServer>;
    static loadOrCreateByHost(host: string): Promise<MServer>;
    isBlocked(): boolean;
    toFormattedJSON(this: MServerFormattable): {
        host: string;
    };
}
//# sourceMappingURL=server.d.ts.map