export type OfficeDocPositionPermission = "filesystem:read" | "office:document:read";
export type OfficeDocPositionErrorBoundary = "input" | "scope" | "permission" | "contract";
export type OfficeDocPositionContext = {
    runtimeId?: string;
    invocationId?: string;
    dryRun?: boolean;
    allowedDocumentRoots?: readonly string[];
    grantedPermissions?: readonly OfficeDocPositionPermission[];
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type OfficeDocPositionQueryKind = "text" | "regex" | "heading" | "bookmark";
export type OfficeDocPositionQuery = {
    kind: OfficeDocPositionQueryKind;
    value: string;
    caseSensitive?: boolean;
};
export type OfficeDocPositionTarget = {
    documentPath: string;
    query: OfficeDocPositionQuery;
    maxMatches?: number;
};
export type OfficeDocPositionRequest = {
    target?: Partial<Omit<OfficeDocPositionTarget, "query">> & {
        query?: Partial<OfficeDocPositionQuery>;
    };
    context?: OfficeDocPositionContext;
};
export type OfficeDocPositionErrorCode = "MISSING_DOCUMENT_PATH" | "UNSAFE_DOCUMENT_PATH" | "DOCUMENT_PATH_OUTSIDE_SCOPE" | "MISSING_QUERY" | "INVALID_QUERY_KIND" | "INVALID_REGEX_QUERY" | "INVALID_MAX_MATCHES" | "PERMISSION_DENIED" | "REAL_EXECUTION_BLOCKED";
export type OfficeDocPositionError = {
    code: OfficeDocPositionErrorCode;
    message: string;
    boundary: OfficeDocPositionErrorBoundary;
    publicSafe: true;
};
export type OfficeDocPositionAuditEvent = {
    type: string;
    toolId: "office.docPosition";
    invocationId: string;
    dryRun: boolean;
    documentPath?: string;
    metadata: Readonly<Record<string, unknown>>;
};
export type OfficeDocPositionMatch = {
    locator: string;
    excerpt: string;
    confidence: number;
};
export type OfficeDocPositionOutput = {
    kind: "agentCore.basicTool.office.docPosition";
    target: {
        documentPath: string;
        query: Required<OfficeDocPositionQuery>;
        maxMatches: number;
    };
    dryRun: true;
    executionBlocked: true;
    unsafeSideEffects: false;
    permissionsRequired: readonly OfficeDocPositionPermission[];
    locatorPlan: {
        parser: "office-document-positioner-v1";
        wouldScanDocument: true;
        matches: readonly OfficeDocPositionMatch[];
    };
};
export type OfficeDocPositionResult = {
    ok: true;
    toolId: "office.docPosition";
    output: OfficeDocPositionOutput;
    audit: readonly OfficeDocPositionAuditEvent[];
    events: readonly string[];
} | {
    ok: false;
    toolId: "office.docPosition";
    error: OfficeDocPositionError;
    audit: readonly OfficeDocPositionAuditEvent[];
    events: readonly string[];
};
export declare const officeDocPositionDescriptor: {
    readonly toolId: "office.docPosition";
    readonly capability: "position-document-content";
    readonly route: "toolabilityPool.officeBase.documentations";
    readonly defaultDryRun: true;
    readonly unsafeSideEffects: false;
    readonly tapOwnsApproval: true;
    readonly permissionsRequired: readonly ["filesystem:read", "office:document:read"];
    readonly defaultMaxMatches: 20;
};
export declare function planOfficeDocPosition(request?: OfficeDocPositionRequest): OfficeDocPositionResult;
