import type { Language } from '../../getPlatformSpecs.js';
import { type SourceFile, type SourceImport } from '../SourceFile.js';
import type { Type, TypeKind } from './Type.js';
export declare const VariantLabels: readonly ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eigth", "ninth", "tenth"];
type VariantLabel = (typeof VariantLabels)[number];
export declare class VariantType implements Type {
    readonly variants: Type[];
    readonly aliasName?: string;
    constructor(variants: Type[], aliasName?: string);
    get canBePassedByReference(): boolean;
    get kind(): TypeKind;
    get jsType(): string;
    get cases(): [VariantLabel, Type][];
    getAliasName(language: Language): string;
    getCode(language: Language): string;
    getExtraFiles(): SourceFile[];
    getRequiredImports(): SourceImport[];
}
export {};
