import type { Generic } from 'adopted-style-sheets';
import type { PropButtonCallbacks, PropHideLabel, PropHref, PropIcons, PropLabel, PropLinkTarget } from '../props';
import type { StencilUnknown } from './unknown';
type RequiredButtonProps = PropLabel & PropButtonCallbacks<StencilUnknown>;
type RequiredLinkProps = PropHref;
type RequiredTextProps = PropLabel;
type OptionalButtonOrLinkOrTextProps = PropHideLabel & {
    active: boolean;
} & PropIcons & PropLinkTarget;
type OptionalButtonProps = OptionalButtonOrLinkOrTextProps & {
    disabled: boolean;
};
type OptionalButtonOrLinkOrTextWithChildrenProps = OptionalButtonOrLinkOrTextProps & {
    children: ButtonOrLinkOrTextWithChildrenProps[];
} & PropLabel;
type OptionalButtonWithChildrenProps = OptionalButtonProps & {
    children: ButtonOrLinkOrTextWithChildrenProps[];
};
export type ButtonWithChildrenProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonWithChildrenProps>;
export type LinkWithChildrenProps = Generic.Element.Members<RequiredLinkProps, OptionalButtonOrLinkOrTextWithChildrenProps>;
type TextWithChildrenProps = Generic.Element.Members<RequiredTextProps, OptionalButtonOrLinkOrTextWithChildrenProps>;
export type ButtonOrLinkOrTextWithChildrenProps = ButtonWithChildrenProps | LinkWithChildrenProps | TextWithChildrenProps;
export {};
