from collections import OrderedDict

from _typeshed import Incomplete
from icalendar.compat import iteritems as iteritems
from icalendar.parser_tools import to_unicode as to_unicode

def canonsort_keys(keys, canonical_order: Incomplete | None = ...): ...
def canonsort_items(dict1, canonical_order: Incomplete | None = ...): ...

class CaselessDict(OrderedDict):
    def __init__(self, *args, **kwargs) -> None: ...
    def __getitem__(self, key): ...
    def __setitem__(self, key, value) -> None: ...
    def __delitem__(self, key) -> None: ...
    def __contains__(self, key) -> bool: ...
    def get(self, key, default: Incomplete | None = ...): ...
    def setdefault(self, key, value: Incomplete | None = ...): ...
    def pop(self, key, default: Incomplete | None = ...): ...
    def popitem(self): ...
    def has_key(self, key): ...
    def update(self, *args, **kwargs) -> None: ...
    def copy(self): ...
    def __eq__(self, other): ...
    canonical_order: Incomplete
    def sorted_keys(self): ...
    def sorted_items(self): ...
