import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime'; /** * @name Surface * @category Display * @summary An unopinionated visual primitive. A plain block by default that gains visual treatment via attributes. */ export declare class Q2Surface implements ComponentInterface { private _cancelAnimation; hostElement: HTMLElement; /** Applies a background color from the design-system token palette. When unset, the surface is transparent. */ background?: 'default' | 'primary' | 'secondary' | 'tertiary' | 'gray'; /** Applies a gradient fade across the background. * * @info Direction and colors are customizable via CSS custom properties. */ backgroundGradient: boolean; /** Renders a visible border around the surface, optionally in a themed color. */ border?: 'default' | 'primary' | 'secondary' | 'tertiary' | 'gray'; /** * Renders the border as a gradient using the color set by the `border` prop. Takes precedence over a solid `border` when both are set. * * @info Requires `border` to be set to produce a colored gradient. Without `border`, falls back to the default border color. */ borderGradient: boolean; /** Makes the surface interactive, responding to clicks. * * @info Emits `tctClick` when clicked. */ clickable: boolean; /** Gives the component a drop shadow. * * @info 0 means no shadow; higher values appear more elevated. */ elevation: 0 | 1 | 2 | 3 | 4 | 5; /** Adds internal padding applied uniformly on all sides. * * @info Individual axes can be overridden with `inset-x` and `inset-y`. */ inset: 'none' | 'compact' | 'normal' | 'comfortable'; /** Adds horizontal padding, overriding the horizontal component of `inset`. */ insetX?: 'none' | 'compact' | 'normal' | 'comfortable'; /** Adds vertical padding, overriding the vertical component of `inset`. */ insetY?: 'none' | 'compact' | 'normal' | 'comfortable'; /** Adds corner rounding on a scale from 0 (sharp) to 5 (most rounded). */ radius: 0 | 1 | 2 | 3 | 4 | 5; /** Emitted when the surface is clicked and `clickable` is true. */ tctClick: EventEmitter; disconnectedCallback(): void; onClick(): void; onKeydown(event: KeyboardEvent): void; /** * Triggers a named animation on the surface. If an animation is already running, cancels it before starting the new one. * @param animation The animation to play. Defaults to `'pulse'`. * @returns A Promise that resolves when the animation finishes or is cancelled. */ triggerAnimation(animation?: 'bounce' | 'flash' | 'pulse' | 'tada'): Promise; render(): any; }