interface selection-set-resolver-types {
    use schema.{definition-id};

    type field-id = u16;
    type field-id-range = tuple<field-id, field-id>;
    type arguments-id = u16;

    record selection-set {
        requires-typename: bool,
        fields-ordered-by-parent-entity: field-id-range
    }

    record field {
        alias: option<string>,
        definition-id: definition-id,
        arguments: option<arguments-id>,
        selection-set: option<selection-set>,
    }

}
