import { ComponentModel } from '../../../core/models/component.model';
export interface ApiConfig {
    url: string;
    method?: 'GET' | 'POST' | 'DELETE';
    body?: string;
    containerId?: string;
}
export interface LoaderStatus {
    showLoader?: boolean;
    loaderType?: number;
}
export interface LoadScreenConfig {
    componentJson: ComponentModel;
    containerId?: string;
}
export interface RouteConfig {
    path: string;
    data?: Record<string, any>;
}
export type ActionConfig = {
    actionType: 'apiCall';
    apiConfig: ApiConfig;
    loaderStatus?: LoaderStatus;
} | {
    actionType: 'loadScreen';
    loadScreenConfig: LoadScreenConfig;
} | {
    actionType: 'navigate';
    route: RouteConfig;
} | {
    actionType: 'encodedNavigate';
    route: RouteConfig;
} | {
    actionType: 'redirect';
    redirectionUrl: string;
};
export interface ActionContainer {
    action: ActionConfig;
}
