UNPKG

@salad-labs/loopz-typescript

Version:
70 lines 3.74 kB
import { Maybe } from "./types/base"; import { IProposal, ListProposalsFilters, ListProposalsOrder, ListProposalsResponse } from "./interfaces/proposal"; import { CreateProposal, ProposalStatus, ProposalType } from "./types/proposal"; /** * Represents a class for interacting with proposals through HTTP requests. * @class Proposal * @extends Client */ export declare class Proposal { private static _config; private static _instance; private static _client; /** * Get the PROPOSAL_STATUS constant object. * @returns {ProposalStatus} The constant object PROPOSAL_STATUS. */ static get PROPOSAL_STATUS(): ProposalStatus; /** * Returns a copy of the PROPOSAL_STATUS object as a constant ProposalType. * @returns {ProposalType} A copy of the PROPOSAL_STATUS object. */ static get PROPOSAL_TYPE(): ProposalType; /** static methods */ static config(config: { devMode: boolean; }): void; static getInstance(): Proposal; private constructor(); /** * Creates a new proposal object and inserts it into the backend. * @param {CreateProposal} proposal - The proposal object to be inserted, which must be a CreateProposal. * @returns A Promise that resolves to a string or null. * @throws {Error} If signedMessage is required but not provided. */ private _createProposal; /** public instance methods */ /** * Retrieves a proposal instance with the given ID and optional creator address. * @param {string} id - The ID of the proposal instance to retrieve. * @param {string} [did] - The creator address associated with the proposal instance. If provided, the API checks if the creatorAddress is the creator of the proposal. * @returns {Promise<Maybe<IProposal>>} A promise that resolves to the retrieved proposal instance, or null if not found. * @throws {Error} If the "id" parameter is invalid or if an error occurs during the retrieval process. */ get(id: string, did?: string): Promise<Maybe<IProposal>>; /** * Retrieves a list of proposals based on the provided filters, order options, skip, take, and creator address. * @param {ListProposalsFilters} filtersOptions - The filters to apply to the list of proposals. * @param {ListProposalsOrder} orderOptions - The order in which the proposals should be listed. * @param {number} skip - The number of proposals to skip. * @param {number} take - The number of proposals to retrieve. * @param {string} creatorAddress - The address of the proposal creator. * @returns {Promise<ListProposalsResponse>} A promise that resolves to a ListProposalsResponse object containing the list of proposals and total count. */ list(filtersOptions?: ListProposalsFilters, orderOptions?: ListProposalsOrder, skip?: number, take?: number, did?: string): Promise<Maybe<ListProposalsResponse>>; /** * Creates a new proposal using the provided proposal object and signed message. * @param {CreateProposal} proposal - The proposal object containing the proposal data. * @returns A new proposal created using the provided data. */ create(proposal: CreateProposal, signedMessage: string): Promise<boolean>; /** * Deletes a proposal with the given ID. * @param {string} id - The ID of the proposal to delete. * @param {string} creatorAddress - The address of the creator of the proposal. * @returns {Promise<void>} A promise that resolves when the proposal is successfully deleted. * @throws {Error} If the signedMessage is required but not provided. */ delete(id: string, creatorAddress: string): Promise<void>; } //# sourceMappingURL=proposal.d.ts.map