/**
 * Pure string constants that are shared across multiple tool definitions.
 */
export interface RGBAColor {
    r: number;
    g: number;
    b: number;
    a: number;
}
/** Standard evidence markdown filename for agents (analysis, TRA, etc.). */
export declare const EVIDENCE_FILENAME = "evidence.md";
/** Standard reasoning markdown filename for test recovery and similar flows. */
export declare const REASONING_FILENAME = "reasoning.md";
/**
 * Repair notes filename for the RuntimeRecoverySummaryAgent.
 *
 * Contains actionable diagnostic information for the developer or next agent:
 * wrong selectors, URLs to inspect, concrete steps to try. Write
 * NO_RELEVANT_TECHNICAL_DIAGNOSTIC when the test is healthy.
 */
export declare const REPAIR_NOTES_FILENAME = "repair-notes.md";
/**
 * Sentinel value the agent must write into a step verdict's
 * `technical_recommendation` when there is no actionable follow-up. The UI
 * reads this exact string to hide the Technical recommendation row in the
 * Recovery review panel.
 *
 * If you change this string, update the matching constant in the UI library
 * (`packages/library/src/features/TestResults/RuntimeRecoverySummaryPanel.tsx`).
 */
export declare const NO_FOLLOW_UP_NEEDED = "No follow-up needed";
/**
 * Sentinel value the agent must write into the repair-notes file when there
 * is no actionable diagnostic for a developer or next agent. Used by both the
 * Test Recovery Agent and the Runtime Recovery Summary Agent so the
 * downstream consumer can detect "nothing to fix" without parsing prose.
 */
export declare const NO_RELEVANT_TECHNICAL_DIAGNOSTIC = "No relevant technical diagnostic";
/**
 * Default thickness for screenshot bounding box overlays.
 * 6 pixels looked reasonable on mobile screenshots. 3 was too thin.
 */
export declare const DEFAULT_BOUNDING_BOX_THICKNESS = 6;
/** Fire orange overlay color that reads well against darker screenshots. */
export declare const ORANGE_HIGHLIGHT_COLOR: RGBAColor;
export declare const ELEMENT_DESCRIPTION_INSTRUCTIONS = "Clearly describe the element that should be interacted with in the action. Good element descriptions should be clear and concise, focusing on the element to interact with and its most important aspects like text, icons or images, type of component (e.g., button, link, input field, dropdown, checkbox, radio button, icon, card, menu, row, tile, etc.), and any unusual aspects.  Choose and describe the specific element that should be interacted with rather than the overall component or general area. When there are multiple elements that have the same text or same visual appearance, describe the intended one with respect to its relevant context like the \"X\" icon on the \"Home goods\" card, but avoid simply describing above/below/next-to elements to identify the correct element (e.g., a bad description would be: \"the Enter name link above the Prime time TV advertisement\" because the association to the advertisement is just positional instead of being relevant to the \"Enter name link\").";
export declare const TOOL_ELEMENT_DESCRIPTION_INSTRUCTIONS: string;
export declare const ELEMENT_DESCRIPTION_EXAMPLES = "Examples of good element descriptions:\n- \"Submit\" button for the \"Atlassian plugin\"\n- edit icon for the \"12,000\" RPM table row\n- \"Find what you need\" search bar\n- \"Revise\" button for editing the \"widget 123\" row\n- \"Daily Calendar\" link starting with a black clock icon\n- \"First name\" input field\n- \"yellow bananas (organic)\" item in the search list\n- blue \"Submit\" button with rounded corners\n- \"Select an option\" dropdown menu for choosing the Category\n- red alert icon that is circular and has an exclamation mark in the center\n- \"Apple - AirPods Max (Lightning) - Green\" link in blue text";
export declare const DYNAMIC_VALUE_INSTRUCTIONS = "\nMabl supports a variety of expressions within double curly braces {{ '' }} for dynamic values:\n\n1.  **Variables**: Reference existing variables using {{@variable_name}}. Example: {{@userId}}\n    *   Note: Variables can reference other variables using this syntax, but they cannot reference themselves and they must be created before they are used.\n\n2.  **Macros**: Generate random strings with {{type:length}}.\n    *   `{{alpha:N}}`: N upper and lower case letters. Example: {{alpha:5}}\n    *   `{{alphaLower:N}}`: N lowercase letters (a-z). Example: abc{{alphaLower:4}}\n    *   `{{alphaUpper:N}}`: N uppercase letters (A-Z). Example: ABC{{alphaUpper:3}}\n    *   `{{digit:N}}`: N numbers (0-9). Example: 123-{{digit:4}}\n    *   `{{alnum:N}}`: N alphanumeric characters. Example: random{{alnum:6}}\n\n3.  **Random Data (Faker)**: Generate realistic random data with {{fake.type.subtype}}. (English locale only)\n    *   Examples:\n        *   `{{fake.name.firstName}}` (e.g., \"Garfield\")\n        *   `{{fake.name.lastName}}` (e.g., \"Larson\")\n        *   `{{fake.address.streetAddress}}` (e.g., \"840 Roberts Burg\")\n        *   `{{fake.address.city}}` (e.g., \"Manteton\")\n        *   `{{fake.address.state}}` (e.g., \"North Carolina\")\n        *   `{{fake.address.zipCode}}` (e.g., \"02160\")\n        *   `{{fake.address.countryCode}}` (e.g., \"TN\")\n        *   `{{fake.company.companyName}}` (e.g., \"Sawayn Group\")\n        *   `{{fake.phone.phoneNumberFormat}}` (e.g., \"776-705-5652\" for ###-###-####)\n            *   The correct phone number method most of the time\n        *   `{{fake.phone.phoneNumber}}` (e.g., \"1-968-628-9831 x738\")\n            *   Only use this one if an extension is required\n        *   `{{fake.lorem.text}}` (e.g., \"consequatur omnis neque\")\n        *   `{{fake.random.uuid}}` (e.g., \"71bcc5d3-7f24-4b08-bcf8-f9b8e0d6d913\")\n        *   `{{fake.finance.amount}}` (e.g., \"17.78\")\n        *   `{{fake.internet.email}}` (e.g., \"ron.burgundy@mabl.com\")\n\n4.  **Mathematical Operations**: Perform calculations within {{ '' }}. PEMDAS rules apply.\n    *   Example: {{(5 + 3) / 2}} evaluates to 4.\n    *   Can include currency symbols: ${{(5 + 3 ) / 2}} evaluates to $4.\n    *   Can use macros and numeric variables.\n\n5.  **Advanced Math Expressions**:\n    *   `{{round(number, decimalPlaces)}}`: Rounds a number. Example: {{round(0.1 + 0.2, 1)}}\n    *   `{{abs(number)}}`: Absolute value. Example: {{abs(-6)}} evaluates to 6.\n    *   `{{randomInt(min, max)}}`: Random integer >= min and < max. Example: {{randomInt(0, 11)}} (0-10).\n\n6.  **Timestamp**: `{{date}}` generates a timestamp.\n";
//# sourceMappingURL=constants.d.ts.map