/** * Copyright 2022, SumUp Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type ReactNode } from 'react'; export declare class CircuitError extends Error { constructor(componentName: string, message: string); } export declare class DeprecationError extends CircuitError { constructor(componentName: string, message: string); } export declare class AccessibilityError extends CircuitError { constructor(componentName: string, message: string); } /** * Validates that a valid [accessible name](https://w3c.github.io/accname/#dfn-accessible-name) (label, `aria-label` or `aria-labelledby`) exists. * * The [accessible name](https://w3c.github.io/accname/#dfn-accessible-name) * shouldn't contain structured markup since it is ignored by screen readers. * We allow this only as an escape hatch to use at your own risk. */ export declare function isSufficientlyLabelled(label?: ReactNode, attributes?: { 'aria-label'?: string; 'aria-labelledby'?: string; 'aria-hidden'?: string | boolean; }): boolean;