import { AbstractProtection, ActionResult, EventConsequences, EventWithMixins, MembershipChange, OwnLifetime, ProtectedRoomsSet, Protection, ProtectionDescription, RoomMembershipRevision, UnknownConfig, UserConsequences } from "matrix-protection-suite";
import { Draupnir } from "../Draupnir";
import { MatrixRoomID } from "@the-draupnir-project/matrix-basic-types";
type WordListCapabilities = {
    userConsequences: UserConsequences;
    eventConsequences: EventConsequences;
};
type WordListSettings = UnknownConfig;
type WordListDescription = ProtectionDescription<Draupnir, WordListSettings, WordListCapabilities>;
export declare class WordListProtection extends AbstractProtection<WordListDescription> implements Protection<WordListDescription> {
    private readonly draupnir;
    private justJoined;
    private badWords;
    private readonly userConsequences;
    private readonly eventConsequences;
    constructor(description: WordListDescription, lifetime: OwnLifetime<Protection<WordListDescription>>, capabilities: WordListCapabilities, protectedRoomsSet: ProtectedRoomsSet, draupnir: Draupnir);
    handleMembershipChange(revision: RoomMembershipRevision, changes: MembershipChange[]): Promise<ActionResult<void>>;
    handleTimelineEventMixins(room: MatrixRoomID, event: EventWithMixins): void;
}
export {};
//# sourceMappingURL=WordList.d.ts.map