import type { Tuyau } from '@tuyau/core/client';
import type { TuyauRegistry } from '@tuyau/core/types';
import type { PropType } from 'vue';
/**
 * Provider component that makes the Tuyau client available to child components.
 */
export declare const TuyauProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    client: {
        type: PropType<Tuyau<TuyauRegistry>>;
        required: true;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    client: {
        type: PropType<Tuyau<TuyauRegistry>>;
        required: true;
    };
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
/**
 * Composable to access the Tuyau client from any component within a TuyauProvider.
 */
export declare function useTuyau(): Tuyau<any, any>;
