import type { GoogleApiClient } from '../../api-client.js'; import type { GoogleDocsCredentials } from '../../types.js'; import type { GoogleDocsDocument } from '../../document.js'; /** * Single source of truth for rich test document content. * Used by createRichTestDoc() for seeding and by E2E assertions for verification. */ export declare const RICH_DOC_CONTENT: { readonly body: { readonly paragraphOne: "Paragraph one"; readonly paragraphTwo: "Paragraph two"; readonly paragraphThreeEmoji: "Paragraph three with emoji ๐ŸŽ‰ and sparkles โœจ"; readonly paragraphFourCjk: "Paragraph four ๆ—ฅๆœฌ่ชžใƒ†ใ‚นใƒˆ"; }; readonly afterTable: "After table paragraph"; readonly table: { readonly header: { readonly name: "Name"; readonly value: "Value"; readonly notes: "Notes"; }; readonly row1: { readonly name: "Alpha"; readonly value: "100"; readonly notes: "First entry"; }; readonly row2: { readonly name: "Beta"; readonly value: "200"; readonly notes: "Line one\nLine two"; }; }; readonly multiCellTexts: readonly ["Line one", "Line two"]; }; /** * Fetch the raw paragraphStyle for a paragraph matching `searchText` * by walking the raw Docs API response. Eliminates duplicated * fetch+walk+assert pattern in styling tests (E23, E24). */ export declare function getRawParagraphStyle(doc: GoogleDocsDocument, docId: string, searchText: string): Promise | null>; export interface TestDocContext { docId: string; credentials: GoogleDocsCredentials; /** true if we created this doc (and should delete it) */ isEphemeral: boolean; client: GoogleApiClient; } /** * Check if E2E tests should run. * Returns false if GOOGLE_SERVICE_ACCOUNT_KEY is not set. */ export declare function shouldRunE2E(): boolean; /** * Build credentials from env vars. */ export declare function buildCredentialsFromEnv(): GoogleDocsCredentials; /** * Create an ephemeral test document via Drive API. * The doc is created as a Google Doc (MIME type: application/vnd.google-apps.document). */ export declare function createTestDoc(credentials: GoogleDocsCredentials, title?: string): Promise; /** * Create a rich ephemeral test document with a 3ร—3 table, * multi-paragraph cells, emoji, and CJK text. * * Structure: * Paragraph one * Paragraph two * Paragraph three with emoji ๐ŸŽ‰ and sparkles โœจ * Paragraph four ๆ—ฅๆœฌ่ชžใƒ†ใ‚นใƒˆ * [3ร—3 table: header row + 2 data rows, one cell has 2 paragraphs] * After table paragraph * * Seeding is 3-step: * 1. insertText at index 1 for body paragraphs * 2. insertTable (3 rows ร— 3 cols) at end of segment * 3. Fetch doc โ†’ discover cell indices โ†’ insertText per cell in reverse index order */ export declare function createRichTestDoc(credentials: GoogleDocsCredentials, title?: string): Promise; /** * Delete the ephemeral test document. */ export declare function deleteTestDoc(ctx: TestDocContext): Promise; //# sourceMappingURL=test-doc-helper.d.ts.map