import { CreateMilestoneParams, UpdateMilestoneParams, ListMilestonesParams, GetMilestoneParams } from '../types/index.js';
/**
 * Service for managing GitHub milestones
 */
export declare class GitHubMilestoneService {
    private octokit;
    /**
     * Create a new GitHub Milestone Service
     * @param token GitHub API token
     */
    constructor(token: string);
    /**
     * Create a new milestone in a GitHub repository
     * @param params Milestone creation parameters
     * @returns The created milestone
     */
    createMilestone(params: CreateMilestoneParams): Promise<{
        url: string;
        html_url: string;
        labels_url: string;
        id: number;
        node_id: string;
        number: number;
        state: "open" | "closed";
        title: string;
        description: string | null;
        creator: import("@octokit/openapi-types").components["schemas"]["nullable-simple-user"];
        open_issues: number;
        closed_issues: number;
        created_at: string;
        updated_at: string;
        closed_at: string | null;
        due_on: string | null;
    }>;
    /**
     * Update an existing milestone in a GitHub repository
     * @param params Milestone update parameters
     * @returns The updated milestone
     */
    updateMilestone(params: UpdateMilestoneParams): Promise<{
        url: string;
        html_url: string;
        labels_url: string;
        id: number;
        node_id: string;
        number: number;
        state: "open" | "closed";
        title: string;
        description: string | null;
        creator: import("@octokit/openapi-types").components["schemas"]["nullable-simple-user"];
        open_issues: number;
        closed_issues: number;
        created_at: string;
        updated_at: string;
        closed_at: string | null;
        due_on: string | null;
    }>;
    /**
     * Get a milestone from a GitHub repository
     * @param params Milestone retrieval parameters
     * @returns The requested milestone
     */
    getMilestone(params: GetMilestoneParams): Promise<{
        url: string;
        html_url: string;
        labels_url: string;
        id: number;
        node_id: string;
        number: number;
        state: "open" | "closed";
        title: string;
        description: string | null;
        creator: import("@octokit/openapi-types").components["schemas"]["nullable-simple-user"];
        open_issues: number;
        closed_issues: number;
        created_at: string;
        updated_at: string;
        closed_at: string | null;
        due_on: string | null;
    }>;
    /**
     * List milestones in a GitHub repository
     * @param params Milestone listing parameters
     * @returns List of milestones
     */
    listMilestones(params: ListMilestonesParams): Promise<{
        url: string;
        html_url: string;
        labels_url: string;
        id: number;
        node_id: string;
        number: number;
        state: "open" | "closed";
        title: string;
        description: string | null;
        creator: import("@octokit/openapi-types").components["schemas"]["nullable-simple-user"];
        open_issues: number;
        closed_issues: number;
        created_at: string;
        updated_at: string;
        closed_at: string | null;
        due_on: string | null;
    }[]>;
    /**
     * Delete a milestone from a GitHub repository
     * @param owner Repository owner
     * @param repo Repository name
     * @param milestone_number Milestone number
     * @returns void
     */
    deleteMilestone(owner: string, repo: string, milestone_number: number): Promise<void>;
}
