import { type ReactNode } from 'react';
import type { CustomMutatorDefs } from '../../zero-client/src/client/custom.ts';
import type { ZeroOptions } from '../../zero-client/src/client/options.ts';
import { Zero } from '../../zero-client/src/client/zero.ts';
import type { Schema } from '../../zero-schema/src/builder/schema-builder.ts';
export declare function useZero<S extends Schema, MD extends CustomMutatorDefs | undefined = undefined>(): Zero<S, MD>;
export declare function createUseZero<S extends Schema, MD extends CustomMutatorDefs | undefined = undefined>(): () => Zero<S, MD>;
export type ZeroProviderProps<S extends Schema, MD extends CustomMutatorDefs | undefined = undefined> = (ZeroOptions<S, MD> | {
    zero: Zero<S, MD>;
}) & {
    init?: (zero: Zero<S, MD>) => void;
    children: ReactNode;
};
export declare function ZeroProvider<S extends Schema, MD extends CustomMutatorDefs | undefined = undefined>({ children, init, ...props }: ZeroProviderProps<S, MD>): import("react/jsx-runtime").JSX.Element | undefined;
//# sourceMappingURL=zero-provider.d.ts.map