@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
89 lines • 3.29 kB
TypeScript
import { type TodoListParams, type TodoGetParams, type TodoResponse, type TodoListResponse } from '../schemas';
import type { Basecamp2Client } from '../client';
type ExecuteRequest = Basecamp2Client['executeRequest'];
/**
* Creates the todos resource methods
* OpenAPI Path: /todos → todos.*
* @description Methods for managing Basecamp2 todos
*/
export declare function createTodosResource(executeRequest: ExecuteRequest): {
/**
* List all todos with pagination
*
* @fullPath api.basecamp2.todos.list
* @service basecamp2
* @domain project-management
* @dataMethod todosData.list
* @discoverable true
* @searchTerms ["todos", "tasks", "list", "basecamp", "project management"]
*
* @param params List parameters including pagination and ordering
* @returns Promise<TodoListResponse> Paginated list of todos
*/
list: (params: TodoListParams) => Promise<TodoListResponse>;
/**
* Get a specific todo by ID
*
* @fullPath api.basecamp2.todos.get
* @service basecamp2
* @domain project-management
* @dataMethod todosData.get
* @discoverable true
* @searchTerms ["todo", "task", "get", "details", "basecamp"]
*
* @param id Todo ID
* @param params Request parameters with site ID
* @returns Promise<TodoResponse> Todo details
*/
get: (id: number, params: TodoGetParams) => Promise<TodoResponse>;
};
/**
* Creates the todosData resource methods (data-only versions)
*/
export declare function createTodosDataResource(todos: ReturnType<typeof createTodosResource>): {
/**
* List todos data without full response metadata
*
* @fullPath api.basecamp2.todosData.list
* @service basecamp2
* @domain project-management
* @discoverable true
*
* @param params List parameters
* @returns Promise<TodoData[]> Array of todo data objects
*/
list: (params: TodoListParams) => Promise<import("zod").objectOutputType<{
id: import("zod").ZodNumber;
title: import("zod").ZodOptional<import("zod").ZodString>;
content: import("zod").ZodOptional<import("zod").ZodString>;
completed: import("zod").ZodOptional<import("zod").ZodBoolean>;
created_at: import("zod").ZodOptional<import("zod").ZodString>;
updated_at: import("zod").ZodOptional<import("zod").ZodString>;
}, import("zod").ZodTypeAny, "passthrough">[]>;
/**
* Get todo data without full response metadata
*
* @fullPath api.basecamp2.todosData.get
* @service basecamp2
* @domain project-management
* @discoverable true
*
* @param id Todo ID
* @param params Request parameters
* @returns Promise<TodoData> Todo data object
*/
get: (id: number, params: TodoGetParams) => Promise<{
id: number;
title?: string | undefined;
completed?: boolean | undefined;
created_at?: string | undefined;
updated_at?: string | undefined;
content?: string | undefined;
} & {
[k: string]: unknown;
}>;
};
export type TodosResource = ReturnType<typeof createTodosResource>;
export type TodosDataResource = ReturnType<typeof createTodosDataResource>;
export {};
//# sourceMappingURL=todos.d.ts.map