import { PropsWithChildren } from 'react';
import type { INoiseCancellation } from '@stream-io/audio-filters-web';
export type NoiseCancellationProviderProps = {
    /**
     * The noise cancellation instance to use.
     */
    noiseCancellation: INoiseCancellation;
};
/**
 * The Noise Cancellation API.
 */
export type NoiseCancellationAPI = {
    /**
     * A boolean providing information whether Noise Cancelling functionalities
     * are supported on this platform and for the current user.
     */
    isSupported: boolean | undefined;
    /**
     * Provides information whether Noise Cancellation is initialized and ready.
     */
    isReady: boolean;
    /**
     * Provides information whether Noise Cancellation is active or not.
     */
    isEnabled: boolean;
    /**
     * Allows you to temporarily enable or disable the Noise Cancellation filters.
     *
     * @param enabled a boolean or a setter.
     */
    setEnabled: (enabled: boolean | ((value: boolean) => boolean)) => void;
    /**
     * Sets the noise suppression level (0-100).
     *
     * @param level 0 for no suppression, 100 for maximum suppression.
     */
    setSuppressionLevel: (level: number) => void;
};
/**
 * Exposes the NoiseCancellation API.
 * Throws an error if used outside <NoiseCancellationProvider />.
 */
export declare const useNoiseCancellation: () => NoiseCancellationAPI;
export declare const NoiseCancellationProvider: (props: PropsWithChildren<NoiseCancellationProviderProps>) => import("react/jsx-runtime").JSX.Element;
