import { connection, Synnax, SynnaxProps } from '@synnaxlabs/client';
import { status } from '@synnaxlabs/x';
import { PropsWithChildren, ReactElement } from 'react';
import { default as z } from 'zod';
import { synnax } from './aether';
export interface ContextValue extends synnax.ContextValue {
    state: connection.State;
}
export declare const use: () => Synnax | null;
export declare const useConnectionState: () => connection.State;
export interface ProviderProps extends PropsWithChildren {
    connParams?: SynnaxProps;
}
export declare const CONNECTION_STATE_VARIANTS: Record<connection.Status, status.Variant>;
export declare const SERVER_VERSION_MISMATCH = "serverVersionMismatch";
export declare const statusDetailsSchema: z.ZodObject<{
    type: z.ZodString;
    oldServer: z.ZodBoolean;
    nodeVersion: z.ZodOptional<z.ZodString>;
    clientVersion: z.ZodString;
}, z.core.$strip>;
export interface StatusDetails extends z.infer<typeof statusDetailsSchema> {
}
interface TestProviderProps extends PropsWithChildren {
    client: Synnax | null;
}
export declare const TestProvider: ({ children, client }: TestProviderProps) => ReactElement;
export declare const Provider: ({ children, connParams }: ProviderProps) => ReactElement;
export {};
//# sourceMappingURL=Provider.d.ts.map