import { _ObjectSubSite, IObjectSubSiteConfig } from '../commons';
import { FWRuleActions, icmpTypeV4, IFWRule, IFWV4RuleRaw, IFWV6RuleRaw, networkConfType, protocolV4, ruleSet } from './Interfaces';
export declare class FWRule extends _ObjectSubSite implements Partial<IFWRule> {
    _id: string;
    action: FWRuleActions;
    dst_firewallgroup_ids: Array<string>;
    enabled: boolean;
    ipsec: string;
    logging: boolean;
    name: string;
    protocol_match_excepted: boolean;
    rule_index: string | number;
    ruleset: ruleSet;
    site_id: string;
    src_firewallgroup_ids: Array<string>;
    src_mac_address: string;
    state_established: boolean;
    state_invalid: boolean;
    state_new: boolean;
    state_related: boolean;
    protocol_v6?: string;
    icmpv6_typename?: string;
    dst_address?: string;
    src_address?: string;
    protocol?: protocolV4;
    icmp_typename?: icmpTypeV4;
    src_networkconf_id?: string;
    src_networkconf_type?: networkConfType;
    dst_networkconf_id?: string;
    dst_networkconf_type?: networkConfType;
    setting_preference?: string;
    dst_port?: string;
    protected import(props: IFWV4RuleRaw | IFWV6RuleRaw): this;
    constructor(config: IObjectSubSiteConfig, props: IFWV4RuleRaw | IFWV6RuleRaw);
    save(): Promise<void>;
    delete(): Promise<void>;
}
