export type PullRequestStatus = "open" | "closed" | "merged" | "draft";
export interface PullRequest {
    id: string;
    number?: number;
    title: string;
    authorName?: string;
    authorAvatarUrl?: string;
    status: PullRequestStatus;
    createdAt?: string | Date;
    updatedAt?: string | Date;
    branchName?: string;
    targetBranch?: string;
    url?: string;
}
export interface PullRequestsListFilter {
    status?: PullRequestStatus;
    query?: string;
}
export interface PullRequestsListProps {
    /** REQUIRED loader, invoked on mount and whenever the filter changes. */
    onLoadPullRequests: (filter?: PullRequestsListFilter) => Promise<PullRequest[]>;
    /** Initial filter applied on mount. */
    defaultFilter?: PullRequestsListFilter;
    /** Currently selected PR id (v-modelable as `selectedId`). */
    selectedId?: string;
    /** Fired when a PR row is clicked. */
    onSelect?: (pr: PullRequest) => void;
    label?: string;
    name?: string | null;
    helpText?: string;
    errors?: string[];
    classList?: string[] | string;
}
declare function reload(): Promise<void>;
declare const _default: import('vue').DefineComponent<PullRequestsListProps, {
    reload: typeof reload;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:selectedId": (value: string) => any;
}, string, import('vue').PublicProps, Readonly<PullRequestsListProps> & Readonly<{
    "onUpdate:selectedId"?: ((value: string) => any) | undefined;
}>, {
    label: string;
    errors: string[];
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=PullRequestsList.vue.d.ts.map