import { BrowserProvider, Eip1193Provider, JsonRpcProvider, Provider } from 'ethers';
import { PublicParams } from './encrypt';
export type FhevmInstanceConfig = {
    kmsContractAddress: string;
    aclContractAddress: string;
    chainId?: number;
    publicKey?: string;
    publicKeyId?: string;
    gatewayUrl?: string;
    network?: Eip1193Provider;
    networkUrl?: string;
    publicParams?: PublicParams<string>;
};
export declare const getProvider: (config: FhevmInstanceConfig) => JsonRpcProvider | BrowserProvider;
export declare const getChainId: (provider: Provider, config: FhevmInstanceConfig) => Promise<number>;
export declare const getTfheCompactPublicKey: (config: FhevmInstanceConfig) => Promise<{
    publicKey: any;
    publicKeyId: any;
}>;
export declare const getPublicParams: (config: FhevmInstanceConfig) => Promise<any>;
export declare const getKMSSigners: (provider: Provider, config: FhevmInstanceConfig) => Promise<string[]>;
