/**
 * PDA derivation functions for the SRSLY program
 * @module pda/srsly
 */
import { Address } from '@solana/kit';
import { type UniversalSigner } from '../utils/signer';
/**
 * Derive the contract PDA from a fleet address
 * @param fleet - The fleet public key
 * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
 * @returns The derived contract PDA
 */
export declare function deriveContract(fleet: UniversalSigner, programAddress?: UniversalSigner): Promise<Address>;
/**
 * Derive the active rental PDA from contract address
 *
 * Seeds: ["rental_state", contract, "active"]
 *
 * @param contract - The contract public key
 * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
 * @returns The derived active rental PDA
 */
export declare function deriveActiveRental(contract: UniversalSigner, programAddress?: UniversalSigner): Promise<Address>;
/**
 * Derive the queued rental PDA from contract address
 *
 * Seeds: ["rental_state", contract, "queued"]
 *
 * @param contract - The contract public key
 * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
 * @returns The derived queued rental PDA
 */
export declare function deriveQueuedRental(contract: UniversalSigner, programAddress?: UniversalSigner): Promise<Address>;
/**
 * Derive the rental authority PDA
 * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
 * @returns The derived rental authority PDA
 */
export declare function deriveRentalAuthority(programAddress?: UniversalSigner): Promise<Address>;
/**
 * Derive the borrower state PDA from a borrower address
 * @param borrower - The borrower public key
 * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
 * @returns The derived borrower state PDA
 */
export declare function deriveBorrowerState(borrower: UniversalSigner, programAddress?: UniversalSigner): Promise<Address>;
/**
 * Derive the config PDA
 * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
 * @returns The derived config PDA
 */
export declare function deriveConfig(programAddress?: UniversalSigner): Promise<Address>;
//# sourceMappingURL=srsly.d.ts.map