export interface RulesModel {
    applicationId?: string;
    masterKey?: string;
    token?: string;
    context?: ContextBlock;
    transaction?: TransactionBlock;
    auth?: {
        signUp?: {
            username: string;
            password: string;
            email?: string;
        };
        signIn?: {
            username: string;
            password: string;
        };
        reset?: string;
    };
    policy?: {
        add?: {
            'create.*'?: string;
            'query.*'?: string;
            'update.*'?: string;
            'delete.*'?: string;
            [key: string]: string;
        };
        list?: {};
        remove?: {
            ruleId: string;
        };
    };
    errors?: {
        [key: string]: {
            message: string;
            path: string;
            data: any;
        };
    };
}
export interface RuleResponse {
    errors: {
        [key: string]: {
            message: string;
            path: string;
            data: any;
        };
    };
    [key: string]: any;
}
export interface ContextBlock {
    return?: string[];
    uid?: string;
    auth?: boolean;
    applicationId?: string;
    masterKey?: string;
    useMasterKey?: boolean;
    storage?: {
        preserveName?: boolean;
    };
}
export interface TransactionBlock {
    before?: {
        [key: string]: any;
    };
    after?: {
        [key: string]: any;
    };
    commit?: {
        [key: string]: any;
    };
}
