import { GdsElement } from '../../gds-element'; type Constructor = new (...args: any[]) => T; /** * MixinsBuilder allows for a more declarative way to compose mixins. * * Example: * ```ts * class MyElement extends mix(GdsElement).with(marginProps).and(paddingProps).final() { * ... * } * ``` * * Currently we don't use it because the Custom Elements Manifest analyzer has trouble * decoding the resulting classes. */ declare class MixinBuilder { private baseClass; constructor(baseClass: TAccumulated); with(mixin: (Base: TAccumulated) => TMixin): MixinBuilder; and(mixin: (Base: TAccumulated) => TMixin): MixinBuilder; final(): TAccumulated; } export declare function mix(BaseClass: TBase): MixinBuilder; export {};