Typescript will not infer tuple types from array literals. You can specify the type explicitly, as you have, or you can create a helper function to make it a bit easier and still get some inference.
const tuple = <T extends [any] | any[]>(args: T): T => args
tuple(["A", "B"]) // [string, string]
Edit
Starting from 3.4 you can also use an as const
assertion. This does have the advantage of not needing the extra function but it will generate a read-only tuple:
var t = [1, ''] as const;
t[0] = 1 //err
Starting from 3.0 you can also use tuples in rest parameter to infer tuples:
const tuple = <T extends any[]>(...args: T): T => args
tuple("A", "B") // [string, string]