import { MemberData, ProgramTerms, ProposalData } from '../types/index.js';
import { RolePolicy } from '../types/index.js';
export declare function create_policy(policy: RolePolicy): RolePolicy;
export declare function get_role_data(member: MemberData, proposal: ProposalData): {
    paths: [string, number][];
    payment: number;
    programs: ProgramTerms[];
};
export declare function check_role_data(member: MemberData, role: RolePolicy, proposal: ProposalData): void;
export declare function is_member(mship: MemberData, proposal: ProposalData): boolean;
export declare function add_membership(mship: MemberData, role: RolePolicy, proposal: ProposalData): {
    members: MemberData[];
    paths: import("../types/index.js").PathEntry[];
    payments: import("../types/index.js").PaymentEntry[];
    programs: ProgramTerms[];
    content?: string | undefined;
    deadline?: number | undefined;
    effective?: number | undefined;
    expires: number;
    feerate?: number | undefined;
    moderator?: string | undefined;
    network: import("../types/index.js").Network;
    schedule: import("../types/index.js").ScheduleTerms[];
    title: string;
    value: number;
    version: number;
};
export declare function rem_membership(mship: MemberData, proposal: ProposalData, leave?: boolean): ProposalData;
