import { Proposal } from '../types/Proposal';
import { GetAllProposalsParams, CreateProposalParams, UpdateProposalParams, ProposalParams } from './common/params';
/**
 * Fetches all proposals for a specific DAO.
 * @param params - The parameters for fetching proposals.
 * @param params.chainId - The ID of the chain.
 * @param params.address - The address of the DAO.
 * @param params.apiUrl - Optional API URL override.
 * @returns A promise that resolves to an array of proposals.
 */
export declare const getAllProposals: (params: GetAllProposalsParams) => Promise<Proposal[]>;
/**
 * Fetches a specific proposal by its slug.
 * @param params - The parameters for fetching a proposal.
 * @param params.chainId - The ID of the chain.
 * @param params.address - The address of the DAO.
 * @param params.slug - The slug of the proposal.
 * @param params.apiUrl - Optional API URL override.
 * @returns A promise that resolves to the proposal.
 */
export declare const getProposal: (params: ProposalParams) => Promise<Proposal>;
/**
 * Creates a new proposal for a specific DAO.
 * @param params - The parameters for creating a proposal.
 * @param params.chainId - The ID of the chain.
 * @param params.address - The address of the DAO.
 * @param params.proposal - The new proposal data.
 * @param params.apiUrl - Optional API URL override.
 * @returns A promise that resolves to the created proposal.
 */
export declare const createProposal: (params: CreateProposalParams) => Promise<Proposal>;
/**
 * Updates an existing proposal.
 * @param params - The parameters for updating a proposal.
 * @param params.chainId - The ID of the chain.
 * @param params.address - The address of the DAO.
 * @param params.slug - The slug of the proposal to update.
 * @param params.proposal - The updated proposal data.
 * @param params.apiUrl - Optional API URL override.
 * @returns A promise that resolves to the updated proposal.
 */
export declare const updateProposal: (params: UpdateProposalParams) => Promise<Proposal>;
/**
 * Deletes a proposal.
 * @param params - The parameters for deleting a proposal.
 * @param params.chainId - The ID of the chain.
 * @param params.address - The address of the DAO.
 * @param params.slug - The slug of the proposal to delete.
 * @param params.apiUrl - Optional API URL override.
 * @returns A promise that resolves when the proposal is deleted.
 */
export declare const deleteProposal: (params: ProposalParams) => Promise<void>;
