import type { Command } from '@oclif/core'; import { BaseCommand } from '../base-command.js'; import type { ApiTarget } from './api.js'; import type { Column } from './formatters.js'; export declare abstract class CrudListCommand extends BaseCommand { abstract columns: Column[]; abstract resourceEndpoint: string; abstract resourceLabel: string; abstract resourceTarget: ApiTarget; /** Override to filter items after fetch (e.g. exclude disabled). */ protected filterItems(items: Record[]): Record[]; run(): Promise<{ items: unknown[]; }>; } export declare abstract class CrudGetCommand extends BaseCommand { static args: { id: import("@oclif/core/interfaces").Arg>; }; abstract resourceEndpoint: string; abstract resourceLabel: string; abstract resourceTarget: ApiTarget; run(): Promise>; } export declare abstract class CrudCreateCommand extends BaseCommand { static flags: { file: import("@oclif/core/interfaces").OptionFlag; }; abstract resourceEndpoint: string; abstract resourceLabel: string; abstract resourceTarget: ApiTarget; run(): Promise<{ errors: string[]; items: Record[]; }>; } export declare abstract class CrudUpdateCommand extends BaseCommand { static args: { id: import("@oclif/core/interfaces").Arg>; }; static flags: { file: import("@oclif/core/interfaces").OptionFlag; }; abstract resourceEndpoint: string; abstract resourceLabel: string; abstract resourceTarget: ApiTarget; protected updateMethod: 'PATCH' | 'PUT'; run(): Promise>; } export declare abstract class CrudDeleteCommand extends BaseCommand { static args: { id: import("@oclif/core/interfaces").Arg>; }; abstract resourceEndpoint: string; abstract resourceLabel: string; abstract resourceTarget: ApiTarget; run(): Promise<{ deleted: boolean; id: string; }>; }