type Maybe<T> = T | null | undefined;
type ExpandRecursively<T> = T extends object ? T extends infer O ? {
    [K in keyof O]: ExpandRecursively<O[K]>;
} : never : T;
type ById<T> = {
    [id: string]: T;
};
type OmitTypename<T> = Omit<T, "__typename">;
declare const isType: <T extends string>(typename: T) => <N extends {
    __typename: string;
}>(node: N | null | undefined) => node is Extract<N, {
    __typename: T;
}>;
declare function notNullUndefined<TValue>(value: TValue | null | undefined): value is TValue;

export { ById, ExpandRecursively, Maybe, OmitTypename, isType, notNullUndefined };
