import React, { CSSProperties, FC, ReactNode } from 'react';
import { StateContext } from '../../hooks/ContextState';
import { BasedClient } from '@based/client';
import { RouterContext } from 'kabouter';
type ProviderProps = {
    children?: ReactNode;
    style?: CSSProperties;
    client?: BasedClient;
    theme?: 'light' | 'dark';
    themes?: {
        base?: object;
        dark?: object;
    };
    fill?: boolean;
    path?: string;
};
type ExtractVar<C> = C extends React.Context<infer T> ? T : never;
export type AllContexts = {
    router: ExtractVar<typeof RouterContext>;
    client: BasedClient;
    state: ExtractVar<typeof StateContext>;
};
export declare const useAllContexts: () => AllContexts;
export declare const ForwardContext: FC<{
    context: AllContexts;
    children: ReactNode;
}>;
export declare const Provider: FC<ProviderProps>;
export {};
