// Generated by delombok at Tue Dec 16 19:34:32 UTC 2025
package net.md_5.bungee.api.dialog.input;

import lombok.NonNull;
import org.jetbrains.annotations.ApiStatus;

/**
 * Represents a type of input which may be displayed/submitted with a form
 * dialog.
 */
public class DialogInput {
    /**
     * The internal input type.
     */
    @NonNull
    @ApiStatus.Internal
    private final String type;
    /**
     * The key corresponding to this input and associated with the value
     * submitted.
     */
    @NonNull
    private final String key;

    /**
     * Creates a new {@code DialogInput} instance.
     *
     * @param type The internal input type.
     * @param key The key corresponding to this input and associated with the value
     * submitted.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public DialogInput(@NonNull final String type, @NonNull final String key) {
        if (type == null) {
            throw new java.lang.NullPointerException("type is marked non-null but is null");
        }
        if (key == null) {
            throw new java.lang.NullPointerException("key is marked non-null but is null");
        }
        this.type = type;
        this.key = key;
    }

    /**
     * The internal input type.
     */
    @NonNull
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String type() {
        return this.type;
    }

    /**
     * The key corresponding to this input and associated with the value
     * submitted.
     */
    @NonNull
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String key() {
        return this.key;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public boolean equals(final java.lang.Object o) {
        if (o == this) return true;
        if (!(o instanceof DialogInput)) return false;
        final DialogInput other = (DialogInput) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        final java.lang.Object this$type = this.type();
        final java.lang.Object other$type = other.type();
        if (this$type == null ? other$type != null : !this$type.equals(other$type)) return false;
        final java.lang.Object this$key = this.key();
        final java.lang.Object other$key = other.key();
        if (this$key == null ? other$key != null : !this$key.equals(other$key)) return false;
        return true;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected boolean canEqual(final java.lang.Object other) {
        return other instanceof DialogInput;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final java.lang.Object $type = this.type();
        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
        final java.lang.Object $key = this.key();
        result = result * PRIME + ($key == null ? 43 : $key.hashCode());
        return result;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public java.lang.String toString() {
        return "DialogInput(type=" + this.type() + ", key=" + this.key() + ")";
    }
}
