import * as spec from '@jsii/spec';
/**
 * Make a type reference that references exactly a literal.
 *
 * This is useful if we don't want to reference a real type but a locally bound
 * type parameter.
 *
 * This is a slightly hacky way to get the rendering functio to render a
 * literal string, without looking it up. It gets us to embed the notion of
 * rendering literal type parameters in the existing jsii spec without having to
 * explicitly model it only for the purpose of a couple of code generators.
 */
export declare function makeLiteralTypeReference(typeParameterName: string): spec.NamedTypeReference;
/**
 * Return the type parameter name if the type reference is a type literal
 */
export declare function literalTypeReference(x: spec.TypeReference): string | undefined;
/**
 * Whether the given type is a literal type reference
 */
export declare function isLiteralTypeReference(x: spec.TypeReference): boolean;
//# sourceMappingURL=type-literals.d.ts.map