@Override
    public Type typeCheck(Scope<Type> scope) {
        RuleError.context("while checking the URL", url, () -> url.typeCheck(scope).expectStringType());

        RuleError.context("while checking properties", () -> {
            for (Literal literal : properties.values()) {
                literal.typeCheck(scope);
            }
            return null;
        });

        RuleError.context("while checking headers", () -> {
            for (List<Expression> headerList : headers.values()) {
                for (Expression header : headerList) {
                    header.typeCheck(scope).expectStringType();
                }
            }
            return null;
        });

        return Type.endpointType();
    }
Get the endpoint {@code authSchemes} property as a map of {@link Identifier} to {@link Literal} values.

@return the list of endpoint {@code authSchemes}.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/Endpoint.java