import { ArrowToken, CloseBracketToken, IdentifierToken, OpenBracketToken, StringToken } from "./Tokens";
export type TypeTokenRaw = IdentifierToken | ArrowToken | OpenBracketToken | CloseBracketToken | StringToken;
export type TypeToken = IdentifierToken | ArrowToken | OpenBracketToken | CloseBracketToken | StringToken | BaseTypeToken | FunctionTypeToken;
export type BaseTypeToken = {
    kind: "BaseTypeToken";
    body: TypeToken[];
};
export declare function BaseTypeToken(args: {
    body: TypeToken[];
}): BaseTypeToken;
export type FunctionTypeToken = {
    kind: "FunctionTypeToken";
    body: TypeToken[];
};
export declare function FunctionTypeToken(args: {
    body: TypeToken[];
}): FunctionTypeToken;
export type RootTypeTokens = BaseTypeToken | FunctionTypeToken;
