What are the languages this hypotetical library will be useable with? Just C/C++ (judging from int[][]) or more?(i've made a fool out of myself)
About the list of tile types, I think it might be a better idea to leave such list mostly unspecified. If there will be multiple generators, most likely some of them will introduce totally new or adjust previously used tile types. Leaving the precise list of types to the concrete generator documentation should be more flexible. If there is a need for post-processing, such list may be converted to the one more convenient to the application by a simple lookup table (optionally grouping types specified too precisely for application to handle).
Also, depending on intended complexity of generation, it may be useful to allow querying tile 'properties' like water depth, glass opacity or portal ids (for entrance-exit pairing). Simpler applications may just stop on tile types (if applicable) while more sophisticated ones will take advantage of more detailed description.