export type WorkflowDefinition = {
    nodes: unknown[];
    edges: unknown[];
};
export type Workflow = {
    readonly id: number;
    readonly unique_id: string;
    name: string;
    description?: string;
    definition: WorkflowDefinition;
    is_active?: boolean;
    is_template?: boolean;
    parent_workflow?: number | null;
    readonly platform: number;
    readonly platform_key: string;
    readonly platform_name: string;
    readonly created_by: number;
    readonly created_by_username: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly node_count: number;
    readonly edge_count: number;
    readonly entry_mentor_id: string;
    chat_name?: string;
    chat_proactive_response?: string;
};
export type PaginatedWorkflowList = {
    count: number;
    next?: string | null;
    previous?: string | null;
    results: Workflow[];
};
export type GetWorkflowsParams = {
    search?: string;
    is_active?: boolean;
    is_template?: boolean;
    created_by?: string;
    sort?: string;
    limit?: number;
    offset?: number;
};
export type GetWorkflowsArgs = {
    org: string;
    params?: GetWorkflowsParams;
};
export type GetWorkflowArgs = {
    org: string;
    uniqueId: string;
};
export type CreateWorkflowData = {
    name: string;
    description?: string;
    definition?: WorkflowDefinition;
};
export type CreateWorkflowArgs = {
    org: string;
    data: CreateWorkflowData;
};
export type PatchWorkflowData = {
    name?: string;
    description?: string;
    definition?: WorkflowDefinition;
    chat_name?: string;
    chat_proactive_response?: string;
};
export type PatchWorkflowArgs = {
    org: string;
    uniqueId: string;
    data: PatchWorkflowData;
};
export type UpdateWorkflowData = {
    name: string;
    description?: string;
    definition: WorkflowDefinition;
    chat_name?: string;
    chat_proactive_response?: string;
};
export type UpdateWorkflowArgs = {
    org: string;
    uniqueId: string;
    data: UpdateWorkflowData;
};
export type DeleteWorkflowArgs = {
    org: string;
    uniqueId: string;
};
export type WorkflowActionArgs = {
    org: string;
    uniqueId: string;
};
export type PublishWorkflowArgs = {
    org: string;
    uniqueId: string;
    data?: {
        definition?: WorkflowDefinition;
    };
};
export type WorkflowValidationResponse = {
    is_valid: boolean;
    errors: string[];
    warnings: string[];
    workflow?: Workflow;
};
export type WorkflowChatArgs = {
    org: string;
    uniqueId: string;
    message: string;
};
export type WorkflowChatResponse = {
    response: string;
    workflow_id: string;
    session_id: string;
};
export type GetNodeTypesArgs = {
    org: string;
};
export type NodeTypeInfo = {
    label: string;
    category: string;
    executable: boolean;
    description: string;
    required_fields: string[];
    optional_fields: string[];
    aliases?: string[];
    status?: string;
};
export type NodeTypesResponse = {
    node_types: Record<string, NodeTypeInfo>;
    categories: string[];
};
