import { ArchitectIsAuthenticatedFunction, ArchitectLoginFunction, ArchitectLogoutFunction, ArchitectGetUserIdFunction } from './auth';
import { ArchitectFilesService } from './files';
import { ArchitectResourceService } from './resources';
export declare enum BaseService {
    files = "files"
}
export declare type BaseServices = {
    files: ArchitectFilesService;
    users: ArchitectResourceService;
};
export declare enum BaseFunction {
    login = "login",
    logout = "logout",
    isAuthenticated = "isAuthenticated",
    getUserId = "getUserId"
}
export declare type BaseFunctions = {
    login: ArchitectLoginFunction;
    logout: ArchitectLogoutFunction;
    isAuthenticated: ArchitectIsAuthenticatedFunction;
    getUserId: ArchitectGetUserIdFunction;
};
export declare type ResourceServices<T> = {
    [Property in keyof T]: ArchitectResourceService<T[Property]>;
};
export declare type ArchitectServices<T> = BaseServices & BaseFunctions & ResourceServices<T>;
export declare type ArchitectConfig = {
    baseUrl: string;
    recommendedCase?: boolean;
};
export declare type ArchitectQueryOptions = {
    _contains?: string;
    _min?: number;
    _max?: number;
};
export declare type ArchitectQuery<T> = {
    [Property in keyof T]?: ArchitectQueryOptions;
};
