# This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.

import typing

def check_pkcs7_padding(data: bytes) -> bool: ...
def check_ansix923_padding(data: bytes) -> bool: ...

class ObjectIdentifier:
    def __init__(self, val: str) -> None: ...
    @property
    def dotted_string(self) -> str: ...
    @property
    def _name(self) -> str: ...

T = typing.TypeVar("T")

class FixedPool(typing.Generic[T]):
    def __init__(
        self,
        create: typing.Callable[[], T],
        destroy: typing.Callable[[T], None],
    ) -> None: ...
    def acquire(self) -> PoolAcquisition[T]: ...

class PoolAcquisition(typing.Generic[T]):
    def __enter__(self) -> T: ...
    def __exit__(self, exc_type, exc_value, exc_tb) -> None: ...
