import { GdsElement } from '../../gds-element';
declare const GdsVideo_base: (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").SizeXProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").SizeYProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").MarginProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").LayoutChildProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").PositioningProps) & typeof GdsElement;
/**
* `gds-video` is a custom video element that provides configurable .mp4 video playback that can be used as background or hero video without controls.
* The video can be customized with different properties like ratio, position, inset, width, height, opacity, fit, and radius.
*
* @element gds-video
* @status beta
*
*/
export declare class GdsVideo extends GdsVideo_base {
static styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
/**
* Controls the aspect ratio of the image.
* Supports all common aspect ratios like 16/9, 4/3, 1/1, etc.
*
* You can apply the aspect ratio like this:
*
* ```html
*
* ```
*
* The above example will apply the aspect ratio of 16/9.
*
* You can also apply different aspect ratios for different screen sizes like this:
*
* ```html
*
* ```
*
* The above example will apply the aspect ratio of 16/9 for large screens, 4/3 for medium screens, and 1/1 for small screens.
*
* @property ratio
*/
'aspect-ratio'?: string;
/**
* Controls the `object-position` of the video.
* Supports all common CSS values.
* @property position
*/
'object-position'?: string;
/**
* Controls the opacity property of the image.
*
* You can apply opacity like this:
*
* ```html
*
* ```
*
* The above example will apply the opacity style of 0.2.
* This is useful when you want to apply a transparent effect to the image when having a darkened background to increase the readability of the text.
* @property opacity
*/
opacity?: string;
/**
* Controls the object-fit property of the image.
*
* You can apply fit like this:
*
* ```html
*
* ```
*
* The above example will apply the object-fit style of cover.
*
* @property fit
*/
'object-fit'?: string;
/**
* Controls the pointer-events property of the video.
* Supports all valid CSS pointer-events values.
*
* @property events
*/
'pointer-events'?: string;
/**
* Controls the border-radius property of the video.
* Supports all the size tokens from the design system.
*
* @example
* You can apply radius in each corner like this:
*
* ```html
*
* ```
*
* Also for different breakpoints like this:
*
* ```html
*
* ```
*
* Each corner can have a different radius value and also different values for different breakpoints.
* @property radius
*/
'border-radius'?: string;
src?: string;
poster?: string;
muted?: boolean;
playsinline?: boolean;
autoplay?: boolean;
loop?: boolean;
videoElement: HTMLVideoElement;
applyVideoSettings(): void;
render(): any;
firstUpdated(): void;
}
export {};