from typing import Sequence, Union

from solders.keypair import Keypair
from solders.pubkey import Pubkey
from solders.signature import Signature

class NullSigner:
    def __init__(self, pubkey: Pubkey) -> None: ...
    def pubkey(self) -> Pubkey: ...
    def sign_message(self, message: Union[bytes, Sequence[int]]) -> Signature: ...
    def __richcmp__(self, other: Union["NullSigner", Keypair], op: int) -> bool: ...
    @staticmethod
    def default() -> "NullSigner": ...
    def __repr__(self) -> str: ...
    def __bytes__(self) -> bytes: ...
    def __str__(self) -> str: ...
    def __hash__(self) -> int: ...
    @staticmethod
    def from_bytes(data: bytes) -> "NullSigner": ...
    def to_json(self) -> str: ...
    @staticmethod
    def from_json(raw: str) -> "NullSigner": ...
