import { Module, Permission, Role, RoleType, Session, User } from './api-security.interfaces';
export type AuthLoginIn = {
    username: string;
    password: string;
    role?: number;
    system_name?: string;
};
export type AuthLoginOut = {
    access_token: string;
    token_type: string;
    expires_in: number;
};
export type AuthUserLoginIn = {
    username: string;
};
export type SessionIn = {
    modelType: string;
    modelId: number;
    token?: string;
};
export type SessionOut = {
    session: Session;
};
export type PutUsersIn = {
    user: User;
};
export type PutUsersOut = {
    user: User;
};
export type GetUserOut = {
    user: User;
};
export type GetUsersOut = {
    users: User[];
    total: number;
};
export type AuthMeOut = {
    user: {
        id: number;
        name: string;
        username: string;
        model_type: string;
        model_id: number;
        is_active: boolean;
        created_at: string;
        updated_at: string;
        auth_type: string;
        language_id: number;
        email: string;
        role: Role;
        permissions: Permission[];
        session: Session | null;
    };
};
export type ChangeLanguageIn = {
    languageId: number;
};
export type RolesOut = {
    roles: Role[];
    total: number;
};
export type Pivot = {
    role_id: number;
    permission_id: number;
} | {
    module_id: string;
    permission_id: string;
};
export type RoleOut = {
    role: Role;
};
export type RoleIn = {
    name: string;
    role_type_id: number;
    company_country_id: number;
    regional_country_id?: number[] | null;
    is_active: boolean;
    permissions: string[];
};
export type RoleTypesOut = {
    role_types: RoleType[];
    total: number;
};
export type ModulesOut = {
    modules: Module[];
    total: number;
};
