/**
 * GitHub GraphQL Client for Projects V2
 *
 * Wraps `gh api graphql` CLI calls for GitHub Projects V2 operations.
 * All calls use child_process.execFile for security (no shell interpolation).
 *
 * @module github-graphql-client
 */
interface ProjectField {
    id: string;
    name: string;
    options?: Array<{
        id: string;
        name: string;
    }>;
}
export declare class GitHubGraphQLClient {
    private token?;
    constructor(token?: string);
    /**
     * Resolve an owner login (user or org) to a node ID.
     * Tries user first, falls back to organization.
     */
    getOwnerNodeId(login: string): Promise<string>;
    /**
     * Create a new GitHub Projects V2 board.
     */
    createProjectV2(ownerId: string, title: string): Promise<{
        id: string;
        number: number;
    }>;
    /**
     * Add an issue (by node ID) to a Projects V2 board.
     * Returns the project item ID. Idempotent.
     */
    addProjectV2Item(projectId: string, contentId: string): Promise<string>;
    /**
     * Update a field value on a Projects V2 item.
     */
    updateItemFieldValue(projectId: string, itemId: string, fieldId: string, value: {
        singleSelectOptionId: string;
    }): Promise<void>;
    /**
     * Get field definitions for a Projects V2 board.
     */
    getProjectFields(projectId: string): Promise<ProjectField[]>;
    /**
     * Execute a GraphQL query via `gh api graphql`.
     * All variables are passed via `-F` flags to prevent injection.
     */
    private executeGraphQL;
}
export {};
//# sourceMappingURL=github-graphql-client.d.ts.map