import React from 'react';
import { UploaderContextState, UploaderContextActions, ServiceConfig } from '@w3ui/uploader-core';
export type UploaderContextValue = [
    state: UploaderContextState,
    actions: UploaderContextActions
];
export declare const uploaderContextDefaultValue: UploaderContextValue;
export declare const UploaderContext: React.Context<UploaderContextValue>;
export interface UploaderProviderProps extends ServiceConfig {
    children?: JSX.Element;
}
/**
 * Provider for actions and state to facilitate uploads to the service.
 */
export declare function UploaderProvider({ servicePrincipal, connection, children }: UploaderProviderProps): JSX.Element;
/**
 * Use the scoped uploader context state from a parent `UploaderProvider`.
 */
export declare function useUploader(): UploaderContextValue;
