import { Result } from "@gnuxie/typescript-result";
import { StringUserID } from "@the-draupnir-project/matrix-basic-types";
import { LiteralPolicyRule } from "matrix-protection-suite";
import { AccountRestriction } from "matrix-protection-suite-for-matrix-bot-sdk";
export interface UserRestrictionAuditLog {
    isUserRestricted(userID: StringUserID): Promise<Result<boolean>>;
    recordUserRestriction(userID: StringUserID, restriction: AccountRestriction, options: {
        rule: LiteralPolicyRule | null;
        sender: StringUserID;
    }): Promise<Result<void>>;
    recordExistingUserRestriction(uesrID: StringUserID, restriction: AccountRestriction): Promise<Result<void>>;
    unrestrictUser(userID: StringUserID, sender: StringUserID): Promise<Result<void>>;
    destroy(): void;
}
//# sourceMappingURL=UserRestrictionAuditLog.d.ts.map