import type { Expect } from '@playwright/test'; import type { LinkCheckOptions } from '../rules/broken-links.js'; export type { LinkCheckOptions }; export type SeoTitleOptions = { minLength?: number; maxLength?: number; }; export type SeoDescriptionOptions = { minLength?: number; maxLength?: number; }; export type SeoStructuredDataOptions = { type?: string; required?: string[]; }; export type SeoOgTagsOptions = { tags?: string[]; }; declare global { namespace PlaywrightTest { interface Matchers { toHaveSeoTitle(options?: SeoTitleOptions): Promise; toHaveSeoDescription(options?: SeoDescriptionOptions): Promise; toHaveSingleH1(): Promise; toHaveCanonical(url?: string): Promise; toHaveNoNoindex(): Promise; toHaveLangAttribute(): Promise; toHaveRequiredOgTags(options?: SeoOgTagsOptions): Promise; toHaveValidImgAlts(): Promise; toHaveValidStructuredData(options?: SeoStructuredDataOptions): Promise; toHaveNoInternalBrokenLinks(options?: LinkCheckOptions): Promise; } } } /** * Extend Playwright's expect with SEO-specific matchers. * Call this once in your test setup file. * * @example * import { expect } from '@playwright/test'; * import { extendExpect } from '@seo-guardian/core'; * extendExpect(expect); */ export declare function extendExpect(expect: Expect): void; //# sourceMappingURL=index.d.ts.map