import { Tool } from './Tool';
import { ToolCallContext } from '../models/ToolCallContext';
import { ToolCallResult } from '../models/ToolCallResult';
import { Page } from 'playwright';
import { BaseToolGptParameters } from '../models/BaseToolGptParameters';
export declare enum Action {
    ROTATE_CLOCKWISE = "ROTATE_CLOCKWISE",
    ROTATE_COUNTERCLOCKWISE = "ROTATE_COUNTERCLOCKWISE",
    ZOOM_IN = "ZOOM_IN",
    ZOOM_OUT = "ZOOM_OUT"
}
export interface NavigateWithinStreetViewToolCoreParameters {
    /**
     * Choose a value that will most likely help towards the current objective.
     * - A value of ZOOM_IN will zoom in on current street maps view.
     * - A value of ZOOM_OUT will zoom out on current street maps view.
     * - A value of ROTATE_CLOCKWISE will rotate the current street maps view clockwise.
     * - A value of ROTATE_COUNTERCLOCKWISE will rotate the current street maps view counterclockwise.
     */
    action: Action;
}
export interface NavigateWithinStreetViewToolGptParameters extends BaseToolGptParameters, NavigateWithinStreetViewToolCoreParameters {
}
export declare class NavigateWithinStreetViewTool extends Tool<NavigateWithinStreetViewToolCoreParameters, NavigateWithinStreetViewToolGptParameters> {
    static readonly NAME = "navigateWithinStreetView";
    constructor();
    call(context: ToolCallContext, parameters: NavigateWithinStreetViewToolCoreParameters): Promise<ToolCallResult>;
    callFromGpt(context: ToolCallContext, parameters: NavigateWithinStreetViewToolGptParameters): Promise<ToolCallResult>;
    /**
     * Removes the Google Maps survey iframe from the given Page.
     * If no survey exists, this call has no effect.
     *
     * @param page - The Playwright Page object to remove the survey from
     */
    static removeGoogleMapsSurvey(page: Page): Promise<void>;
    private static rotateStreetView;
    private static zoomStreetView;
}
//# sourceMappingURL=NavigateWithinStreetView.d.ts.map