import type { GitHubAccount } from '../../../../accessor/github.ts';
import type { PathSpec } from '../../../../types.ts';
import type { CommandFnResult, Context } from '../../../config.ts';
import { FlagView } from '../../../spec/flag_view.ts';
export declare const ISSUE_FIELDS: readonly string[];
/**
 * `gh issue list`. With `--json` it asks GraphQL for exactly the fields
 * named, the way gh's IssueList does, so every field gh accepts is answered
 * in gh's own shape; the text view reads the REST listing.
 */
export declare function listCmd(accessor: GitHubAccount, _paths: PathSpec[], _texts: string[], ctx: Context): Promise<CommandFnResult>;
/**
 * `gh issue view`. With `--json` it reads the fields named over GraphQL, as
 * gh does (see viewedIssue); the text view reads the REST object, and `-c`
 * its comments.
 */
export declare function viewCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>;
export declare function createCmd(accessor: GitHubAccount, _paths: PathSpec[], _texts: string[], ctx: Context): Promise<CommandFnResult>;
export declare function editCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>;
export declare function closeCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>;
export declare function reopenCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>;
export declare function commentCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>;
export declare function commentsFor(accessor: GitHubAccount, fl: FlagView, ref: {
    owner: string;
    repo: string;
}, number: number): Promise<Record<string, unknown>[] | null>;
export declare function commentsText(rows: Record<string, unknown>[]): string;
//# sourceMappingURL=issue.d.ts.map