@davidlj95/ngx-meta
Version:
Set your Angular site's metadata: standard meta tags, Open Graph, Twitter Cards, JSON-LD structured data and more. Supports SSR (and Angular Universal). Use a service. Use routes' data. Set it up in a flash! 🚀
435 lines (431 loc) • 12.5 kB
TypeScript
// Generated by dts-bundle-generator v9.5.1
import * as i0 from '@angular/core';
import { Provider } from '@angular/core';
/**
* Manages the {@link TwitterCard.card} metadata
* @public
*/
export declare const provideTwitterCardCard: () => import("@angular/core").Provider;
/**
* {@inheritDoc provideTwitterCardCard}
* @deprecated Use {@link provideTwitterCardCard} instead
* @public
*/
export declare const TWITTER_CARD_CARD_METADATA_PROVIDER: import("@angular/core").Provider;
/**
* See {@link TwitterCardType}
* @public
*/
export declare const TWITTER_CARD_TYPE_SUMMARY = "summary";
/**
* See {@link TwitterCardType}
* @public
*/
export declare const TWITTER_CARD_TYPE_SUMMARY_LARGE_IMAGE = "summary_large_image";
/**
* See {@link TwitterCardType}
* @public
*/
export declare const TWITTER_CARD_TYPE_APP = "app";
/**
* See {@link TwitterCardType}
* @public
*/
export declare const TWITTER_CARD_TYPE_PLAYER = "player";
/**
* Card types for {@link TwitterCard.card} property
*
* @remarks
*
* Use one of the referenced constants to avoid typing them yourself :)
*
* @public
*/
export type TwitterCardType = typeof TWITTER_CARD_TYPE_SUMMARY | typeof TWITTER_CARD_TYPE_SUMMARY_LARGE_IMAGE | typeof TWITTER_CARD_TYPE_APP | typeof TWITTER_CARD_TYPE_PLAYER;
/**
* Manages the {@link TwitterCard.creator} metadata
* @public
*/
export declare const provideTwitterCardCreator: () => import("@angular/core").Provider;
/**
* {@inheritDoc provideTwitterCardCreator}
* @deprecated Use {@link provideTwitterCardCreator} instead
* @public
*/
export declare const TWITTER_CARD_CREATOR_METADATA_PROVIDER: import("@angular/core").Provider;
/**
* `@username` or Twitter ID of the content creator.
*
* Used in {@link TwitterCard.creator} with type {@link TwitterCardCreator}
*
* @remarks
*
* Provider:
*
* {@link provideTwitterCardCreator}
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Acreator | Property specs (username) }
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Acreator%3Aid,-Twitter | Property specs (id) }
*
* @example
*
* Providing both the `@username` and id. Just one of them is enough though.
*
* ```typescript
* const twitterCardCreator: TwitterCardCreator = {
* username: '@example',
* id: 16542877,
* }
* ```
*
* @public
*/
export type TwitterCardCreator = TwitterCardCreatorUsername | TwitterCardCreatorId | (TwitterCardCreatorUsername & TwitterCardCreatorId);
/**
* See {@link TwitterCardCreator}
* @public
*/
export interface TwitterCardCreatorUsername {
/**
* `@username` of content creator.
*
* Used with `summary_large_image` cards.
*
* In other words, same ones as {@link TwitterCardCreatorId} except for `summary` cards.
*
* @remarks
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Acreator | Property specs}
*/
username: string | null;
}
/**
* See {@link TwitterCardCreator}
* @public
*/
export interface TwitterCardCreatorId {
/**
* Twitter user ID of content creator.
*
* Used with `summary`, `summary_large_image` cards.
*
* In other words, same ones as {@link TwitterCardCreatorUsername} plus `summary` cards.
*
* @remarks
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Acreator%3Aid,-Twitter | Property specs }
*
* - {@link https://twiteridfinder.com/ | Find your Twitter ID}
*/
id: string | null;
}
/**
* Manages the {@link TwitterCard.description} metadata
* @public
*/
export declare const provideTwitterCardDescription: () => import("@angular/core").Provider;
/**
* {@inheritDoc provideTwitterCardDescription}
* @deprecated Use {@link provideTwitterCardDescription} instead
* @public
*/
export declare const TWITTER_CARD_DESCRIPTION_METADATA_PROVIDER: import("@angular/core").Provider;
/**
* Manages the {@link TwitterCard.image} metadata
* @public
*/
export declare const provideTwitterCardImage: () => import("@angular/core").Provider;
/**
* {@inheritDoc provideTwitterCardImage}
* @deprecated Use {@link provideTwitterCardImage} instead
* @public
*/
export declare const TWITTER_CARD_IMAGE_METADATA_PROVIDER: import("@angular/core").Provider;
/**
* Image for the card.
*
* Equivalent to {@link OpenGraph.image}. This one can be omitted if equivalent is set.
*
* Can be set with {@link GlobalMetadata.image}.
*
* Used in {@link TwitterCard.image} with type {@link TwitterCardImage}
*
* @remarks
*
* Provider:
*
* {@link provideTwitterCardImage}
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=og%3Atitle-,twitter%3Aimage,-URL%20of%20image | Property specs}
* @public
*/
export interface TwitterCardImage {
/**
* URL of image to use in the card. Images must be less than 5MB in size.
*
* JPG, PNG, WEBP and GIF formats are supported.
*
* Only the first frame of an animated GIF will be used.
*
* SVG is not supported.
*
* Used with `summary`, `summary_large_image`, `player` cards
*
* @remarks
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=og%3Atitle-,twitter%3Aimage,-URL%20of%20image | Property specs}
*/
readonly url: string | URL;
/**
* A text description of the image conveying the essential nature of an image
* to users who are visually impaired.
*
* Maximum 420 characters.
*
* Used with `summary`, `summary_large_image`, `player` cards
*
* @remarks
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=og%3Atitle-,twitter%3Aimage,-URL%20of%20image | Property specs}
*/
readonly alt: string;
}
/**
* Manages the {@link TwitterCard.site} metadata
* @public
*/
export declare const provideTwitterCardSite: () => import("@angular/core").Provider;
/**
* {@inheritDoc provideTwitterCardSite}
* @deprecated Use {@link provideTwitterCardSite} instead
* @public
*/
export declare const TWITTER_CARD_SITE_METADATA_PROVIDER: import("@angular/core").Provider;
/**
* `@username` or Twitter ID of the author of the website.
*
* Either {@link TwitterCardSiteUsername} or {@link TwitterCardSiteId} is required.
*
* Used in {@link TwitterCard.site} with type {@link TwitterCardSite}
*
* @remarks
*
* Provider:
*
* {@link provideTwitterCardSite}
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Asite, | Property specs (username) }
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Asite%3Aid,-Same%20as%20twitter | Property specs (id) }
*
* @example
*
* Providing both the `@username` and id. Just one of them is enough though.
*
* ```typescript
* const twitterCardSite: TwitterCardSite = {
* username: '@example',
* id: 16542877,
* }
* ```
*
* @public
*/
export type TwitterCardSite = TwitterCardSiteUsername | TwitterCardSiteId | (TwitterCardSiteUsername & TwitterCardSiteId);
/**
* See {@link TwitterCardSite}
* @public
*/
export interface TwitterCardSiteUsername {
/**
* `@username` of website.
*
* Either {@link TwitterCardSiteUsername} or {@link TwitterCardSiteId} is required.
*
* Used with `summary`, `summary_large_image`, `app`, `player` cards.
*
* In other words, same ones as {@link TwitterCardSiteId} plus `app` cards.
*
* @remarks
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Asite, | Property specs }
*
* @public
*/
username: string | null;
}
/**
* See {@link TwitterCardSite}
*
* @public
*/
export interface TwitterCardSiteId {
/**
* Same as {@link TwitterCardSiteUsername}, but the user’s Twitter ID.
*
* Either {@link TwitterCardSiteUsername} or {@link TwitterCardSiteId} is required.
*
* Used with `summary`, `summary_large_image`, `player` cards.
*
* In other words, same ones as {@link TwitterCardSiteUsername} except for `app` cards.
*
* @remarks
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Asite%3Aid,-Same%20as%20twitter | Property specs (id) }
*
* - {@link https://twiteridfinder.com/ | Find your Twitter ID}
*
* @public
*/
id: string | null;
}
/**
* Manages the {@link TwitterCard.title} metadata
* @public
*/
export declare const provideTwitterCardTitle: () => import("@angular/core").Provider;
/**
* {@inheritDoc provideTwitterCardTitle}
* @deprecated Use {@link provideTwitterCardTitle} instead
* @public
*/
export declare const TWITTER_CARD_TITLE_METADATA_PROVIDER: import("@angular/core").Provider;
/**
* Provides {@link https://ngx-meta.dev/built-in-modules/twitter-cards/ | Twitter Cards module}
* metadata managers.
*
* Check out {@link provideNgxMetaTwitterCard} for the standalone, recommended API.
*
* @public
*/
export declare class NgxMetaTwitterCardModule {
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMetaTwitterCardModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMetaTwitterCardModule, never, never, never>;
static ɵinj: i0.ɵɵInjectorDeclaration<NgxMetaTwitterCardModule>;
}
/**
* Provides {@link https://ngx-meta.dev/built-in-modules/twitter-cards/ | Twitter Cards module}
* metadata managers.
*
* @remarks
*
* This is the standalone, recommended API. Using this API is preferred.
* However, you may also use {@link NgxMetaTwitterCardModule} as the Angular module-based equivalent API.
*
* @public
*/
export declare const provideNgxMetaTwitterCard: () => Provider;
/**
* {@link https://ngx-meta.dev/built-in-modules/twitter-cards/ | Twitter Cards module}
* metadata values that can be set.
*
* @public
*/
export interface TwitterCard {
/**
* The card type.
*
* Used with all cards.
*
* If an {@link OpenGraph."type"}, {@link OpenGraph.title} and {@link OpenGraph.description} exist in the markup but
* {@link TwitterCard.card} is absent, then a summary card may be rendered.
*
* Check out {@link TwitterCardType} type for a list of constants you can use
* to specify the card's type.
*
* @remarks
*
* Provider:
*
* {@link provideTwitterCardCard}
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=twitter%3Acard, | Property specs}
*/
readonly card?: TwitterCardType | null;
/**
* {@inheritDoc TwitterCardSite}
*/
readonly site?: TwitterCardSite | null;
/**
* {@inheritDoc TwitterCardCreator}
*/
readonly creator?: TwitterCardCreator | null;
/**
* Description of content (maximum 200 characters).
*
* Used with `summary`, `summary_large_image`, `player` cards.
*
* Equivalent to {@link OpenGraph.description}. This one can be omitted if equivalent is set.
*
* Can be set with {@link GlobalMetadata.description}.
*
* @remarks
*
* Provider:
*
* {@link provideTwitterCardDescription}
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=n/a-,twitter%3Adescription,-Description%20of%20content | Property specs}
*/
readonly description?: string | null;
/**
* Title of content (max 70 characters).
*
* Used with `summary`, `summary_large_image`, `player` cards.
*
* Equivalent to {@link OpenGraph.title}. This one can be omitted if equivalent is set.
*
* Can be set with {@link GlobalMetadata.title}.
*
* Title will be formatted if {@link https://ngx-meta.dev/guides/title-formatting | title formatting} is set up.
*
* @remarks
*
* Provider:
*
* {@link provideTwitterCardTitle}
*
* See also:
*
* - {@link https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=og%3Adescription-,twitter%3Atitle,-Title%20of%20content | Property specs}
*/
readonly title?: string | null;
/**
* {@inheritDoc TwitterCardImage}
*/
readonly image?: TwitterCardImage | null;
}
/**
* Utility type to provide specific
* {@link https://ngx-meta.dev/built-in-modules/twitter-cards/ | Twitter Cards module}
* metadata
*
* @public
*/
export interface TwitterCardMetadata {
twitterCard: TwitterCard;
}
export {};