import React from 'react';
export declare const EXTRACT_ID: unique symbol;
interface SerializeProps<T> {
    data: () => T | Promise<T>;
}
interface WithSerializedProps<T> {
    children(data?: T): React.ReactElement<any>;
}
export declare function useSerialized<T>(id: string): [T | undefined, React.ComponentType<SerializeProps<T>>];
export declare function createSerializer<T>(id: string): {
    Serialize: ({ data }: SerializeProps<T>) => null;
    WithSerialized: ({ children }: WithSerializedProps<T>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
};
export {};
//# sourceMappingURL=serializer.d.ts.map