import { Communicator } from '../../core/communicator/Communicator.js'; import { RPCRequestMessage, RPCResponseMessage } from '../../core/message/RPCMessage.js'; import { RPCResponse } from '../../core/message/RPCResponse.js'; import { AppMetadata, ProviderEventCallback, RequestArguments } from '../../core/provider/interface.js'; import { Address } from '../../core/type/index.js'; import { SDKChain } from '../../store/chain-clients/utils.js'; import { type StoreInstance, createStoreHelpers } from '../../store/store.js'; import { SCWKeyManager } from './SCWKeyManager.js'; type ConstructorOptions = { metadata: AppMetadata; communicator: Communicator; callback: ProviderEventCallback | null; storeInstance?: StoreInstance; }; export declare class Signer { protected readonly communicator: Communicator; protected readonly keyManager: SCWKeyManager; protected callback: ProviderEventCallback | null; protected readonly storeHelpers: ReturnType; protected readonly storeInstance: StoreInstance; protected accounts: Address[]; protected chain: SDKChain; constructor(params: ConstructorOptions); get isConnected(): boolean; protected get isEphemeral(): boolean; handshake: (args: RequestArguments) => Promise; request: (args: RequestArguments) => Promise; protected sendRequestToPopup(request: RequestArguments): Promise; protected handleResponse(request: RequestArguments, decrypted: RPCResponse): Promise; cleanup(): Promise; /** * @returns `null` if the request was successful. * https://eips.ethereum.org/EIPS/eip-3326#wallet_switchethereumchain */ private handleSwitchChainRequest; private handleGetCapabilitiesRequest; protected sendEncryptedRequest(request: RequestArguments): Promise; protected createRequestMessage(content: RPCRequestMessage['content'], correlationId: string | undefined): Promise; protected decryptResponseMessage(message: RPCResponseMessage): Promise; private updateChain; private addSubAccount; private shouldRequestUseSubAccountSigner; private sendRequestToSubAccountSigner; } export {}; //# sourceMappingURL=Signer.d.ts.map