import type { GraphQLScalarType } from "graphql";
import type { NoInfer } from "@apollo/client/utilities/internal";
export declare namespace Scalar {
    interface Options<TSerialized, TParsed> {
        parse(serializedValue: TSerialized): NoInfer<TParsed>;
        serialize(parsedValue: TParsed): NoInfer<TSerialized>;
        is?(value: TSerialized | TParsed): boolean;
    }
}
export declare class Scalar<TSerialized, TParsed> {
    private options;
    static fromGraphQLScalarType<TSerialized, TParsed>(scalarType: GraphQLScalarType<TParsed, TSerialized>, options?: Pick<Scalar.Options<NoInfer<TSerialized>, NoInfer<TParsed>>, "is">): Scalar<TSerialized, TParsed>;
    constructor(options: Scalar.Options<TSerialized, TParsed>);
    parse(value: TSerialized): TParsed;
    serialize(value: TParsed): TSerialized;
    coerceToParsed(value: TSerialized | TParsed): TParsed;
    coerceToSerialized(value: TSerialized | TParsed): TSerialized;
    is(value: TSerialized | TParsed): value is TParsed;
}
//# sourceMappingURL=Scalar.d.ts.map