///
import type { ImageOptions } from '@expo/image-utils';
import type { ExpoConfig } from 'expo/config';
declare type ExpoWebConfig = Required['web'];
export declare type WebPlatformConfigWithDefaults = Omit & Required>;
export declare type PWAConfig = ExpoConfig & {
web: WebPlatformConfigWithDefaults;
};
export declare type Direction = 'ltr' | 'rtl' | 'auto';
export declare type Display = 'fullscreen' | 'standalone' | 'minimal-ui' | 'browser';
export declare type Orientation = 'any' | 'natural' | 'landscape' | 'landscape-primary' | 'landscape-secondary' | 'portrait' | 'portrait-primary' | 'portrait-secondary' | 'omit';
export declare type CrossOrigin = 'use-credentials' | 'anonymous';
export interface RelatedApplications {
platform?: string;
url: string;
id?: string;
}
export declare type Manifest = Partial<{
background_color: string;
description: string;
dir: Direction;
display: Display;
lang: string;
name: string;
orientation: Orientation;
prefer_related_applications: boolean;
related_applications: RelatedApplications[];
scope: string;
short_name: string;
start_url: string;
theme_color: string;
crossorigin: CrossOrigin;
}>;
export declare type WebpackAsset = {
source: Buffer;
path: string;
};
export declare type HtmlTag = {
tagName: 'link';
attributes: {
rel?: string;
href?: string;
media?: string;
sizes?: string;
type?: string;
};
};
export declare type SplashIcon = ImageOptions & {
media: string;
};
export declare type ProjectOptions = {
projectRoot: string;
publicPath: string;
destination?: string;
};
export declare type HTMLOutput = {
asset: WebpackAsset;
tag?: HtmlTag;
manifest?: ManifestIcon;
};
export declare type IconOptions = Omit;
export declare type ManifestIcon = {
src: string;
sizes: string;
type: 'image/png';
purpose?: string;
};
export {};