import { Rule } from "./rule";
export declare type Rules = {
    [key: number]: string;
};
export declare type Default = "allow" | "deny" | "reject";
export interface Status {
    status: "active" | "inactive";
    default: {
        incoming: Default;
        outgoing: Default;
        routed: Default;
    };
    rules: Rules;
}
export interface Listening {
}
/**
 *
 * @param {Rule} rule
 */
export declare function allow(rule: Rule): Promise<void>;
/**
 *
 * @param {Rule} rule
 */
export declare function deny(rule: Rule): Promise<void>;
/**
 *
 * @param {Rule} rule
 */
export declare function limit(rule: Rule): Promise<void>;
/**
 *
 * @param {Rule} rule
 */
export declare function reject(rule: Rule): Promise<void>;
export declare function deleteRule(rule: Rule | number): Promise<void>;
export declare function getRules(): Promise<Rules>;
export declare function setDefaults(incoming: Default, outgoing: Default, routed: Default): Promise<void>;
export declare function enable(): Promise<void>;
export declare function disable(): Promise<void>;
export declare function getListening(): Promise<Listening>;
export declare function getStatus(): Promise<Status>;
export declare function reset(): Promise<void>;
export declare function reload(): Promise<void>;
export { Rule } from "./rule";
export { Protocol } from "./enum/proto.enum";
