/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.0-rc5
 * Contact: hello@goauthentik.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import type { Cache, ChallengeTypes, Flow, FlowChallengeResponseRequest, FlowDiagram, FlowImportResult, FlowInspection, FlowRequest, FlowStageBinding, FlowStageBindingRequest, Link, PaginatedFlowList, PaginatedFlowStageBindingList, PatchedFlowRequest, PatchedFlowStageBindingRequest, UsedBy } from '../models/index';
export interface FlowsBindingsCreateRequest {
    flowStageBindingRequest: FlowStageBindingRequest;
}
export interface FlowsBindingsDestroyRequest {
    fsbUuid: string;
}
export interface FlowsBindingsListRequest {
    evaluateOnPlan?: boolean;
    fsbUuid?: string;
    invalidResponseAction?: FlowsBindingsListInvalidResponseActionEnum;
    order?: number;
    ordering?: string;
    page?: number;
    pageSize?: number;
    pbmUuid?: string;
    policies?: Array<string>;
    policyEngineMode?: FlowsBindingsListPolicyEngineModeEnum;
    reEvaluatePolicies?: boolean;
    search?: string;
    stage?: string;
    target?: string;
}
export interface FlowsBindingsPartialUpdateRequest {
    fsbUuid: string;
    patchedFlowStageBindingRequest?: PatchedFlowStageBindingRequest;
}
export interface FlowsBindingsRetrieveRequest {
    fsbUuid: string;
}
export interface FlowsBindingsUpdateRequest {
    fsbUuid: string;
    flowStageBindingRequest: FlowStageBindingRequest;
}
export interface FlowsBindingsUsedByListRequest {
    fsbUuid: string;
}
export interface FlowsExecutorGetRequest {
    flowSlug: string;
    query: string;
}
export interface FlowsExecutorSolveRequest {
    flowSlug: string;
    query: string;
    flowChallengeResponseRequest?: FlowChallengeResponseRequest;
}
export interface FlowsInspectorGetRequest {
    flowSlug: string;
}
export interface FlowsInstancesCreateRequest {
    flowRequest: FlowRequest;
}
export interface FlowsInstancesDestroyRequest {
    slug: string;
}
export interface FlowsInstancesDiagramRetrieveRequest {
    slug: string;
}
export interface FlowsInstancesExecuteRetrieveRequest {
    slug: string;
}
export interface FlowsInstancesExportRetrieveRequest {
    slug: string;
}
export interface FlowsInstancesImportCreateRequest {
    file?: Blob;
    clear?: boolean;
}
export interface FlowsInstancesListRequest {
    deniedAction?: FlowsInstancesListDeniedActionEnum;
    designation?: FlowsInstancesListDesignationEnum;
    flowUuid?: string;
    name?: string;
    ordering?: string;
    page?: number;
    pageSize?: number;
    search?: string;
    slug?: string;
}
export interface FlowsInstancesPartialUpdateRequest {
    slug: string;
    patchedFlowRequest?: PatchedFlowRequest;
}
export interface FlowsInstancesRetrieveRequest {
    slug: string;
}
export interface FlowsInstancesUpdateRequest {
    slug: string;
    flowRequest: FlowRequest;
}
export interface FlowsInstancesUsedByListRequest {
    slug: string;
}
/**
 *
 */
export declare class FlowsApi extends runtime.BaseAPI {
    /**
     * Creates request options for flowsBindingsCreate without sending the request
     */
    flowsBindingsCreateRequestOpts(requestParameters: FlowsBindingsCreateRequest): Promise<runtime.RequestOpts>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsCreateRaw(requestParameters: FlowsBindingsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlowStageBinding>>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsCreate(requestParameters: FlowsBindingsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlowStageBinding>;
    /**
     * Creates request options for flowsBindingsDestroy without sending the request
     */
    flowsBindingsDestroyRequestOpts(requestParameters: FlowsBindingsDestroyRequest): Promise<runtime.RequestOpts>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsDestroyRaw(requestParameters: FlowsBindingsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsDestroy(requestParameters: FlowsBindingsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Creates request options for flowsBindingsList without sending the request
     */
    flowsBindingsListRequestOpts(requestParameters: FlowsBindingsListRequest): Promise<runtime.RequestOpts>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsListRaw(requestParameters: FlowsBindingsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedFlowStageBindingList>>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsList(requestParameters?: FlowsBindingsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedFlowStageBindingList>;
    /**
     * Creates request options for flowsBindingsPartialUpdate without sending the request
     */
    flowsBindingsPartialUpdateRequestOpts(requestParameters: FlowsBindingsPartialUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsPartialUpdateRaw(requestParameters: FlowsBindingsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlowStageBinding>>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsPartialUpdate(requestParameters: FlowsBindingsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlowStageBinding>;
    /**
     * Creates request options for flowsBindingsRetrieve without sending the request
     */
    flowsBindingsRetrieveRequestOpts(requestParameters: FlowsBindingsRetrieveRequest): Promise<runtime.RequestOpts>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsRetrieveRaw(requestParameters: FlowsBindingsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlowStageBinding>>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsRetrieve(requestParameters: FlowsBindingsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlowStageBinding>;
    /**
     * Creates request options for flowsBindingsUpdate without sending the request
     */
    flowsBindingsUpdateRequestOpts(requestParameters: FlowsBindingsUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsUpdateRaw(requestParameters: FlowsBindingsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlowStageBinding>>;
    /**
     * FlowStageBinding Viewset
     */
    flowsBindingsUpdate(requestParameters: FlowsBindingsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlowStageBinding>;
    /**
     * Creates request options for flowsBindingsUsedByList without sending the request
     */
    flowsBindingsUsedByListRequestOpts(requestParameters: FlowsBindingsUsedByListRequest): Promise<runtime.RequestOpts>;
    /**
     * Get a list of all objects that use this object
     */
    flowsBindingsUsedByListRaw(requestParameters: FlowsBindingsUsedByListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<UsedBy>>>;
    /**
     * Get a list of all objects that use this object
     */
    flowsBindingsUsedByList(requestParameters: FlowsBindingsUsedByListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<UsedBy>>;
    /**
     * Creates request options for flowsExecutorGet without sending the request
     */
    flowsExecutorGetRequestOpts(requestParameters: FlowsExecutorGetRequest): Promise<runtime.RequestOpts>;
    /**
     * Get the next pending challenge from the currently active flow.
     */
    flowsExecutorGetRaw(requestParameters: FlowsExecutorGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ChallengeTypes>>;
    /**
     * Get the next pending challenge from the currently active flow.
     */
    flowsExecutorGet(requestParameters: FlowsExecutorGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ChallengeTypes>;
    /**
     * Creates request options for flowsExecutorSolve without sending the request
     */
    flowsExecutorSolveRequestOpts(requestParameters: FlowsExecutorSolveRequest): Promise<runtime.RequestOpts>;
    /**
     * Solve the previously retrieved challenge and advanced to the next stage.
     */
    flowsExecutorSolveRaw(requestParameters: FlowsExecutorSolveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ChallengeTypes>>;
    /**
     * Solve the previously retrieved challenge and advanced to the next stage.
     */
    flowsExecutorSolve(requestParameters: FlowsExecutorSolveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ChallengeTypes>;
    /**
     * Creates request options for flowsInspectorGet without sending the request
     */
    flowsInspectorGetRequestOpts(requestParameters: FlowsInspectorGetRequest): Promise<runtime.RequestOpts>;
    /**
     * Get current flow state and record it
     */
    flowsInspectorGetRaw(requestParameters: FlowsInspectorGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlowInspection>>;
    /**
     * Get current flow state and record it
     */
    flowsInspectorGet(requestParameters: FlowsInspectorGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlowInspection>;
    /**
     * Creates request options for flowsInstancesCacheClearCreate without sending the request
     */
    flowsInstancesCacheClearCreateRequestOpts(): Promise<runtime.RequestOpts>;
    /**
     * Clear flow cache
     */
    flowsInstancesCacheClearCreateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Clear flow cache
     */
    flowsInstancesCacheClearCreate(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Creates request options for flowsInstancesCacheInfoRetrieve without sending the request
     */
    flowsInstancesCacheInfoRetrieveRequestOpts(): Promise<runtime.RequestOpts>;
    /**
     * Info about cached flows
     */
    flowsInstancesCacheInfoRetrieveRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Cache>>;
    /**
     * Info about cached flows
     */
    flowsInstancesCacheInfoRetrieve(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Cache>;
    /**
     * Creates request options for flowsInstancesCreate without sending the request
     */
    flowsInstancesCreateRequestOpts(requestParameters: FlowsInstancesCreateRequest): Promise<runtime.RequestOpts>;
    /**
     * Flow Viewset
     */
    flowsInstancesCreateRaw(requestParameters: FlowsInstancesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Flow>>;
    /**
     * Flow Viewset
     */
    flowsInstancesCreate(requestParameters: FlowsInstancesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Flow>;
    /**
     * Creates request options for flowsInstancesDestroy without sending the request
     */
    flowsInstancesDestroyRequestOpts(requestParameters: FlowsInstancesDestroyRequest): Promise<runtime.RequestOpts>;
    /**
     * Flow Viewset
     */
    flowsInstancesDestroyRaw(requestParameters: FlowsInstancesDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Flow Viewset
     */
    flowsInstancesDestroy(requestParameters: FlowsInstancesDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Creates request options for flowsInstancesDiagramRetrieve without sending the request
     */
    flowsInstancesDiagramRetrieveRequestOpts(requestParameters: FlowsInstancesDiagramRetrieveRequest): Promise<runtime.RequestOpts>;
    /**
     * Return diagram for flow with slug `slug`, in the format used by flowchart.js
     */
    flowsInstancesDiagramRetrieveRaw(requestParameters: FlowsInstancesDiagramRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlowDiagram>>;
    /**
     * Return diagram for flow with slug `slug`, in the format used by flowchart.js
     */
    flowsInstancesDiagramRetrieve(requestParameters: FlowsInstancesDiagramRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlowDiagram>;
    /**
     * Creates request options for flowsInstancesExecuteRetrieve without sending the request
     */
    flowsInstancesExecuteRetrieveRequestOpts(requestParameters: FlowsInstancesExecuteRetrieveRequest): Promise<runtime.RequestOpts>;
    /**
     * Execute flow for current user
     */
    flowsInstancesExecuteRetrieveRaw(requestParameters: FlowsInstancesExecuteRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Link>>;
    /**
     * Execute flow for current user
     */
    flowsInstancesExecuteRetrieve(requestParameters: FlowsInstancesExecuteRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Link>;
    /**
     * Creates request options for flowsInstancesExportRetrieve without sending the request
     */
    flowsInstancesExportRetrieveRequestOpts(requestParameters: FlowsInstancesExportRetrieveRequest): Promise<runtime.RequestOpts>;
    /**
     * Export flow to .yaml file
     */
    flowsInstancesExportRetrieveRaw(requestParameters: FlowsInstancesExportRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>>;
    /**
     * Export flow to .yaml file
     */
    flowsInstancesExportRetrieve(requestParameters: FlowsInstancesExportRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob>;
    /**
     * Creates request options for flowsInstancesImportCreate without sending the request
     */
    flowsInstancesImportCreateRequestOpts(requestParameters: FlowsInstancesImportCreateRequest): Promise<runtime.RequestOpts>;
    /**
     * Import flow from .yaml file
     */
    flowsInstancesImportCreateRaw(requestParameters: FlowsInstancesImportCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlowImportResult>>;
    /**
     * Import flow from .yaml file
     */
    flowsInstancesImportCreate(requestParameters?: FlowsInstancesImportCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlowImportResult>;
    /**
     * Creates request options for flowsInstancesList without sending the request
     */
    flowsInstancesListRequestOpts(requestParameters: FlowsInstancesListRequest): Promise<runtime.RequestOpts>;
    /**
     * Flow Viewset
     */
    flowsInstancesListRaw(requestParameters: FlowsInstancesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedFlowList>>;
    /**
     * Flow Viewset
     */
    flowsInstancesList(requestParameters?: FlowsInstancesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedFlowList>;
    /**
     * Creates request options for flowsInstancesPartialUpdate without sending the request
     */
    flowsInstancesPartialUpdateRequestOpts(requestParameters: FlowsInstancesPartialUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     * Flow Viewset
     */
    flowsInstancesPartialUpdateRaw(requestParameters: FlowsInstancesPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Flow>>;
    /**
     * Flow Viewset
     */
    flowsInstancesPartialUpdate(requestParameters: FlowsInstancesPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Flow>;
    /**
     * Creates request options for flowsInstancesRetrieve without sending the request
     */
    flowsInstancesRetrieveRequestOpts(requestParameters: FlowsInstancesRetrieveRequest): Promise<runtime.RequestOpts>;
    /**
     * Flow Viewset
     */
    flowsInstancesRetrieveRaw(requestParameters: FlowsInstancesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Flow>>;
    /**
     * Flow Viewset
     */
    flowsInstancesRetrieve(requestParameters: FlowsInstancesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Flow>;
    /**
     * Creates request options for flowsInstancesUpdate without sending the request
     */
    flowsInstancesUpdateRequestOpts(requestParameters: FlowsInstancesUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     * Flow Viewset
     */
    flowsInstancesUpdateRaw(requestParameters: FlowsInstancesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Flow>>;
    /**
     * Flow Viewset
     */
    flowsInstancesUpdate(requestParameters: FlowsInstancesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Flow>;
    /**
     * Creates request options for flowsInstancesUsedByList without sending the request
     */
    flowsInstancesUsedByListRequestOpts(requestParameters: FlowsInstancesUsedByListRequest): Promise<runtime.RequestOpts>;
    /**
     * Get a list of all objects that use this object
     */
    flowsInstancesUsedByListRaw(requestParameters: FlowsInstancesUsedByListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<UsedBy>>>;
    /**
     * Get a list of all objects that use this object
     */
    flowsInstancesUsedByList(requestParameters: FlowsInstancesUsedByListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<UsedBy>>;
}
/**
 * @export
 */
export declare const FlowsBindingsListInvalidResponseActionEnum: {
    readonly Restart: "restart";
    readonly RestartWithContext: "restart_with_context";
    readonly Retry: "retry";
    readonly UnknownDefaultOpenApi: "11184809";
};
export type FlowsBindingsListInvalidResponseActionEnum = typeof FlowsBindingsListInvalidResponseActionEnum[keyof typeof FlowsBindingsListInvalidResponseActionEnum];
/**
 * @export
 */
export declare const FlowsBindingsListPolicyEngineModeEnum: {
    readonly All: "all";
    readonly Any: "any";
    readonly UnknownDefaultOpenApi: "11184809";
};
export type FlowsBindingsListPolicyEngineModeEnum = typeof FlowsBindingsListPolicyEngineModeEnum[keyof typeof FlowsBindingsListPolicyEngineModeEnum];
/**
 * @export
 */
export declare const FlowsInstancesListDeniedActionEnum: {
    readonly Continue: "continue";
    readonly Message: "message";
    readonly MessageContinue: "message_continue";
    readonly UnknownDefaultOpenApi: "11184809";
};
export type FlowsInstancesListDeniedActionEnum = typeof FlowsInstancesListDeniedActionEnum[keyof typeof FlowsInstancesListDeniedActionEnum];
/**
 * @export
 */
export declare const FlowsInstancesListDesignationEnum: {
    readonly Authentication: "authentication";
    readonly Authorization: "authorization";
    readonly Enrollment: "enrollment";
    readonly Invalidation: "invalidation";
    readonly Recovery: "recovery";
    readonly StageConfiguration: "stage_configuration";
    readonly Unenrollment: "unenrollment";
    readonly UnknownDefaultOpenApi: "11184809";
};
export type FlowsInstancesListDesignationEnum = typeof FlowsInstancesListDesignationEnum[keyof typeof FlowsInstancesListDesignationEnum];
//# sourceMappingURL=FlowsApi.d.ts.map