import { type RunStore } from "../run-state/index.js";
import type { SeedWorkspaceConflict } from "../workspace-state/types.js";
import type { SeedTeamMeeting, SeedTeamMeetingPostKind } from "./types.js";
export type CreateTeamMeetingInput = {
    title: string;
    agenda: string[];
    participants?: string[];
    created_by: string;
    metadata?: Record<string, unknown>;
};
export type PostTeamMeetingInput = {
    meeting_id: string;
    from: string;
    body: string;
    kind?: SeedTeamMeetingPostKind;
    reply_to?: string;
    action_owner?: string;
};
export type ListTeamMeetingOptions = {
    status?: "open" | "closed" | "all";
    participant?: string;
};
export declare function teamMeetingsRoot(store: RunStore, runId: string): string;
export declare function teamMeetingPath(store: RunStore, runId: string, meetingId: string): string;
export declare function createTeamMeeting(store: RunStore, runId: string, input: CreateTeamMeetingInput): Promise<SeedTeamMeeting>;
export declare function createWorkspaceConflictMeeting(store: RunStore, runId: string, conflict: SeedWorkspaceConflict, input?: {
    created_by?: string;
}): Promise<SeedTeamMeeting>;
export declare function readTeamMeeting(store: RunStore, runId: string, meetingId: string): Promise<SeedTeamMeeting | undefined>;
export declare function listTeamMeetings(store: RunStore, runId: string, options?: ListTeamMeetingOptions): Promise<SeedTeamMeeting[]>;
export declare function postTeamMeeting(store: RunStore, runId: string, input: PostTeamMeetingInput): Promise<SeedTeamMeeting>;
export declare function closeTeamMeeting(store: RunStore, runId: string, input: {
    meeting_id: string;
    closed_by: string;
    summary: string;
}): Promise<SeedTeamMeeting>;
export declare function renderTeamMeetingContext(meetings: SeedTeamMeeting[], memberName?: string, maxMeetings?: number): string | undefined;
export declare function compactTeamMeetingSummary(meetings: SeedTeamMeeting[], maxMeetings?: number): string[];
