/** * Disposable resource that can be cleaned up. */ export interface Disposable { dispose(): void; } /** * Style definition for shadow DOM injection. */ export type StyleDefinition = { readonly type: 'css'; readonly content: string; } | { readonly type: 'url'; readonly href: string; } | { readonly type: 'adopted'; readonly sheet: CSSStyleSheet; }; /** * Display mode for a component. */ export type DisplayMode = PageMode | ComponentMode; /** * Page mode - component fills a viewport with device presets. */ export interface PageMode { readonly type: 'page'; /** * Device presets or custom viewport sizes. * When viewing, user can switch between these. */ readonly viewports: ViewportPreset[]; } /** * Component mode - renders at natural size. */ export interface ComponentMode { readonly type: 'component'; } /** * Viewport preset - either a named preset or custom dimensions. */ export type ViewportPreset = ViewportPresetName | { readonly name: string; readonly width: number; readonly height: number; }; export type ViewportPresetName = 'mobile' | 'tablet' | 'desktop'; /** * Standard viewport dimensions for presets. */ export declare const VIEWPORT_SIZES: Record; /** * Resolves a viewport preset to actual dimensions. */ export declare function resolveViewport(preset: ViewportPreset): { name: string; width: number; height: number; }; //# sourceMappingURL=DisplayMode.d.ts.map