import { SubParserInterface, TypeCasterInterface } from '../interfaces';
import TokenStream from '../TokenStream';
import Token from '../Token';
export default class ScalarParser implements SubParserInterface {
    /**
     * @var TypeCasterInterface[]
     */
    protected typeCasters: {
        [key: string]: TypeCasterInterface;
    };
    /**
     * @inheritdoc
     */
    parse(tokenStream: TokenStream): any;
    registerTypeCaster(type: any, typeCaster: TypeCasterInterface): this;
    getTypeCaster(type: any): TypeCasterInterface;
    getScalarValue(token: Token): string | number | boolean | Date;
}
