import { AccessControlConditions, AuthSig } from '@lit-protocol/types';
interface IExternalPackageInit {
    LitJsSdkInstance: any;
    SiweInstance?: any;
    backendWalletPrivateKey?: string;
}
export interface ILitProvider {
    isBrowser: boolean;
    init?: (externalPackages: IExternalPackageInit) => Promise<void>;
    getEncryptionClient: () => Promise<any>;
    getActionsClient: (nodes?: number) => Promise<any>;
    runJSFallback: <T>(javascriptCode: string, params: any, chain: string) => Promise<{
        response: T;
    }>;
    runJS: <T>(client: any, ipfsId: string, publicKey: string, chain: string, params?: any, number?: number) => Promise<{
        signatures: any;
        response: T;
        logs: string[];
    }>;
    getAuthSig: (chain: string) => Promise<any>;
    saveKey: (client: any, symmetricKey: string, conditions: AccessControlConditions, authSig: AuthSig, chain: string, permanent?: boolean) => Promise<{
        encryptedSymmetricKey: any;
        encryptedSymmetricKeyString: string;
    }>;
    updateConditionsKey: (client: any, encryptedSymmetricKey: any, symmetricKey: string, conditions: AccessControlConditions, authSig: AuthSig, chain: string, permanent?: boolean) => Promise<void>;
    recoverString: (client: any, encryptedString: string, encryptedSymmetricKey: string, conditions: AccessControlConditions, chain: string) => Promise<string>;
    encryptString: (string: string, chain: string) => Promise<{
        encryptedString: string;
        symmetricKey: string;
        authSig: AuthSig;
    }>;
}
export {};
