/**
 * @license Apache-2.0
 */
import { type SapphireWrapConfig } from "@oasisprotocol/sapphire-paratime";
import { injected } from "@wagmi/core";
export * from "@oasisprotocol/sapphire-viem-v2";
/**
 * Wrap the `window.ethereum` with the Sapphire encryption layer.
 * Used to provide encrypted transactions and calldata to Wagmi browser dApps.
 *
 * ```
 *    import { injectedWithSapphire } from '@oasisprotocol/sapphire-wagmi-v2';
 *
 *    export const config = createConfig({
 *      connectors: [
 *        injectedWithSapphire()
 *      ],
 *      ...
 *    });
 * ```
 *
 * @returns Same as injected()
 */
export declare function injectedWithSapphire(options?: SapphireWrapConfig): ReturnType<typeof injected>;
interface BaseConnector {
    getProvider?(): Promise<unknown> | unknown;
    name?: string;
    id?: string;
}
type ConnectorFactoryReturn<C extends BaseConnector = BaseConnector> = C;
/**
 * Wrap any Wagmi connector with the Sapphire encryption layer.
 * Used to provide encrypted transactions and calldata to any connector type (WalletConnect, MetaMask, etc.).
 *
 * ```typescript
 * import { wrapConnectorWithSapphire } from '@oasisprotocol/sapphire-wagmi-v2';
 * import { walletConnect } from '@wagmi/connectors';
 *
 * export const config = createConfig({
 *   connectors: [
 *     wrapConnectorWithSapphire(
 *       walletConnect({ projectId: 'your-project-id' }),
 *       {
 *         id: 'walletconnect-sapphire',
 *         name: 'WalletConnect (Sapphire)',
 *       }
 *     )
 *   ],
 *   ...
 * });
 * ```
 *
 * @returns A wrapped connector factory that provides Sapphire encryption
 */
export declare function wrapConnectorWithSapphire<T extends any[], C extends BaseConnector = BaseConnector>(connectorFactory: (...args: T) => ConnectorFactoryReturn<C>, options?: {
    customWrapper?: <TConnector extends C>(connector: TConnector) => TConnector;
    sapphireWrapConfig?: SapphireWrapConfig;
    name?: string;
    id?: string;
}): (...args: T) => ConnectorFactoryReturn<C>;
//# sourceMappingURL=index.d.ts.map